post your cachedownloader.java
|
java.util.zip.zixeception: errror opening zip file
If i manual place it in it gives the same error
Code:package sign; import java.applet.Applet; import java.io.*; import java.net.*; public final class signlink implements Runnable { public static void startpriv(InetAddress inetaddress) { threadliveid = (int)(Math.random() * 99999999D); if(active) { try { Thread.sleep(500L); } catch(Exception _ex) { } active = false; } socketreq = 0; threadreq = null; dnsreq = null; savereq = null; urlreq = null; socketip = inetaddress; Thread thread = new Thread(new signlink()); thread.setDaemon(true); thread.start(); while(!active) try { Thread.sleep(50L); } catch(Exception _ex) { } } public void run() { active = true; String s = findcachedir1(); uid = getuid(s); try { File file = new File(s + "main_file_cache.dat"); //if(file.exists() && file.length() > 0x3200000L) //file.delete(); cache_dat = new RandomAccessFile(s + "main_file_cache.dat", "rw"); for(int j = 0; j < 5; j++) cache_idx[j] = new RandomAccessFile(s + "main_file_cache.idx" + j, "rw"); } catch(Exception exception) { exception.printStackTrace(); } for(int i = threadliveid; threadliveid == i;) { if(socketreq != 0) { try { socket = new Socket(socketip, socketreq); } catch(Exception _ex) { socket = null; } socketreq = 0; } else if(threadreq != null) { Thread thread = new Thread(threadreq); thread.setDaemon(true); thread.start(); thread.setPriority(threadreqpri); threadreq = null; } else if(dnsreq != null) { try { dns = InetAddress.getByName(dnsreq).getHostName(); } catch(Exception _ex) { dns = "unknown"; } dnsreq = null; } else if(savereq != null) { if(savebuf != null) try { FileOutputStream fileoutputstream = new FileOutputStream(s + savereq); fileoutputstream.write(savebuf, 0, savelen); fileoutputstream.close(); } catch(Exception _ex) { } if(waveplay) { String wave = s + savereq; waveplay = false; } if(midiplay) { midi = s + savereq; midiplay = false; } savereq = null; } else if(urlreq != null) { try { System.out.println("urlstream"); urlstream = new DataInputStream((new URL(mainapp.getCodeBase(), urlreq)).openStream()); } catch(Exception _ex) { urlstream = null; } urlreq = null; } try { Thread.sleep(50L); } catch(Exception _ex) { } } } /** * Load from home directory * @author Aintaro */ public static String findcachedir1() { String as[] = {System.getProperty("user.home")+System.getProperty("file.separator")}; if(storeid < 32 || storeid > 34) storeid = 32; String s = "Cache"+System.getProperty("file.separator"); for(int i = 0; i < as.length; i++) try { String s1 = as[i]; if(s1.length() > 0) { File file = new File(s1); if(!file.exists()) continue; } File file1 = new File(s1 + s); if(file1.exists() || file1.mkdir()) return s1 + s + System.getProperty("file.separator"); } catch(Exception _ex) { } return null; } /** * Load from client folder * @author Aintaro */ public static String findcachedir() { String as[] = { "./diversity_cache3.2/" }; if(storeid < 32 || storeid > 34) storeid = 32; String s = ""; for(int i = 0; i < as.length; i++) try { String s1 = as[i]; if(s1.length() > 0) { File file = new File(s1); if(!file.exists()) continue; } File file1 = new File(s1 + s); if(file1.exists() || file1.mkdir()) return s1 + s + "/"; } catch(Exception _ex) { } return null; } /* public static String findcachedir() { String as[] = {"C:/"}; if(storeid < 32 || storeid > 34) storeid = 32; //String s = "EPKCv9"; String s = "diversity_cache3.2/"; //String s = "ErasedPkzcache1"; for(int i = 0; i < as.length; i++) try { String s1 = as[i]; if(s1.length() > 0) { File file = new File(s1); if(!file.exists()) continue; } File file1 = new File(s1 + s); if(file1.exists() || file1.mkdir()) return s1 + s + ""; } catch(Exception _ex) { } return null; }*/ public static String sencondDir() { File file = new File("./"); if (!file.exists()) file.mkdir(); return file.toString(); } private static int getuid(String s) { return 234523; } public static synchronized Socket opensocket(int i) throws IOException { for(socketreq = i; socketreq != 0;) try { Thread.sleep(50L); } catch(Exception _ex) { } if(socket == null) throw new IOException("could not open socket"); else return socket; } public static synchronized DataInputStream openurl(String s) throws IOException { for(urlreq = s; urlreq != null;) try { Thread.sleep(50L); } catch(Exception _ex) { } if(urlstream == null) throw new IOException("could not open: " + s); else return urlstream; } public static synchronized void dnslookup(String s) { dns = s; dnsreq = s; } public static synchronized void startthread(Runnable runnable, int i) { threadreqpri = i; threadreq = runnable; } public static synchronized boolean wavesave(byte abyte0[], int i) { if(i > 0x1e8480) return false; if(savereq != null) { return false; } else { wavepos = (wavepos + 1) % 5; savelen = i; savebuf = abyte0; waveplay = true; savereq = "sound" + wavepos + ".wav"; return true; } } public static synchronized boolean wavereplay() { if(savereq != null) { return false; } else { savebuf = null; waveplay = true; savereq = "sound" + wavepos + ".wav"; return true; } } public static synchronized void midisave(byte abyte0[], int i) { if(i > 0x1e8480) return; if(savereq != null) { } else { midipos = (midipos + 1) % 5; savelen = i; savebuf = abyte0; midiplay = true; savereq = "jingle" + midipos + ".mid"; } } public static void reporterror(String s) { System.out.println("Error: " + s); } private signlink() { } public static final int clientversion = 317; public static int uid; public static int storeid = 32; public static RandomAccessFile cache_dat = null; public static final RandomAccessFile[] cache_idx = new RandomAccessFile[5]; public static boolean sunjava; public static Applet mainapp = null; private static boolean active; private static int threadliveid; private static InetAddress socketip; private static int socketreq; private static Socket socket = null; private static int threadreqpri = 1; private static Runnable threadreq = null; private static String dnsreq = null; public static String dns = null; private static String urlreq = null; private static DataInputStream urlstream = null; private static int savelen; private static String savereq = null; private static byte[] savebuf = null; private static boolean midiplay; private static int midipos; public static String midi = null; public static int midivol; public static int midifade; private static boolean waveplay; private static int wavepos; public static int wavevol; public static boolean reporterror = true; public static String errorname = ""; }
post your cachedownloader.java
Code:import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.BufferedOutputStream; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.InputStream; import java.net.URLConnection; import java.net.URL; import java.util.zip.ZipFile; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.Enumeration; import sign.signlink; public class CacheDownloader { private client client; private final int BUFFER = 1024; private final int VERSION = 7; // Version of cache private String cacheLink = "http://dl.dropbox.com/u/107560385/cryptx-c.zip"; // Link to cache private String fileToExtract = getCacheDir() + getArchivedName(); public CacheDownloader(client client) { this.client = client; } private void drawLoadingText(String text) { client.drawLoadingText(35, text); //System.out.println(text); } private void drawLoadingText(int amount, String text) { client.drawLoadingText(amount, text); //System.out.println(text); } private String getCacheDir() { return signlink.findcachedir1(); } private String getCacheLink() { return cacheLink; } private int getCacheVersion() { return VERSION; } public CacheDownloader downloadCache() { try { File location = new File(getCacheDir()); File version = new File(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"); if(!location.exists()) { //drawLoadingText("Loading new Updates...."); downloadFile(getCacheLink(), getArchivedName()); unZip(); //System.out.println("UNZIP"); BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat")); versionFile.close(); deleteZIP(getArchivedName()); } else { if(!version.exists()) { //drawLoadingText("~ First Time Installation, Only Once! ~"); downloadFile(getCacheLink(), getArchivedName()); unZip(); //System.out.println("UNZIP"); BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat")); versionFile.close(); deleteZIP(getArchivedName()); } else { return null; } } } catch(Exception e) { } return null; } private void downloadFile(String adress, String localFileName) { OutputStream out = null; URLConnection conn; InputStream in = null; try { URL url = new URL(adress); out = new BufferedOutputStream( new FileOutputStream(getCacheDir() + "/" +localFileName)); conn = url.openConnection(); in = conn.getInputStream(); byte[] data = new byte[BUFFER]; int numRead; long numWritten = 0; int length = conn.getContentLength(); long startTime = System.currentTimeMillis(); while((numRead = in.read(data)) != -1) { out.write(data, 0, numRead); numWritten += numRead; int percentage = (int)(((double)numWritten / (double)length) * 100D); int downloadSpeed = (int) ((numWritten / 1024) / (1 + ((System.currentTimeMillis() - startTime) / 1000))); drawLoadingText(percentage, "Downloading Cache " + percentage + "% @ " + downloadSpeed + " Kb/s"); } System.out.println(localFileName + "\t" + numWritten); drawLoadingText("Unpacking.."); } catch (Exception exception) { exception.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (out != null) { out.close(); } } catch (IOException ioe) { } } } private String getArchivedName() { int lastSlashIndex = getCacheLink().lastIndexOf('/'); if (lastSlashIndex >= 0 && lastSlashIndex < getCacheLink().length() -1) { return getCacheLink().substring(lastSlashIndex + 1); } else { //System.err.println("error retreiving archivaed name."); } return ""; } private void unZip() { try { InputStream in = new BufferedInputStream(new FileInputStream(fileToExtract)); ZipInputStream zin = new ZipInputStream(in); ZipEntry e; while((e=zin.getNextEntry()) != null) { if(e.isDirectory()) { (new File(getCacheDir() + e.getName())).mkdir(); } else { if (e.getName().equals(fileToExtract)) { unzip(zin, fileToExtract); break; } unzip(zin, getCacheDir() + e.getName()); } //System.out.println("unzipping2 " + e.getName()); } zin.close(); } catch(Exception e) { e.printStackTrace(); } } private void deleteZIP(String fileName){ // A File object to represent the filename File f = new File(getCacheDir() + fileName); // Make sure the file or directory exists and isn't write protected if (!f.exists()) throw new IllegalArgumentException( "Delete: no such file or directory: " + fileName); if (!f.canWrite()) throw new IllegalArgumentException("Delete: write protected: " + fileName); // If it is a directory, make sure it is empty if (f.isDirectory()) { String[] files = f.list(); if (files.length > 0) throw new IllegalArgumentException( "Delete: directory not empty: " + fileName); } // Attempt to delete it boolean success = f.delete(); if (!success) throw new IllegalArgumentException("Delete: deletion failed"); } private void unzip(ZipInputStream zin, String s) throws IOException { FileOutputStream out = new FileOutputStream(s); //System.out.println("unzipping " + s); byte [] b = new byte[BUFFER]; int len = 0; while ((len = zin.read(b)) != -1) { out.write(b,0,len); } out.close(); } }
note my cachelink in sign is edited (this is a old one i posted)
manual it works, but the cache download it does not work.
try using my cachedownloader
Code:import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.BufferedOutputStream; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.InputStream; import java.net.URLConnection; import java.net.URL; import java.util.zip.ZipFile; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.Enumeration; import sign.signlink; public class CacheDownloader { private client client; private final int BUFFER = 1024; private final int VERSION = 5; // Version of cache private String cacheLink = "REPLACE"; // Link to cache private String fileToExtract = getCacheDir() + getArchivedName(); public CacheDownloader(client client) { this.client = client; } private void drawLoadingText(String text) { client.drawLoadingText(35, text); //System.out.println(text); } private void drawLoadingText(int amount, String text) { client.drawLoadingText(amount, text); //System.out.println(text); } private String getCacheDir() { return signlink.findcachedir(); } private String getCacheLink() { return cacheLink; } private int getCacheVersion() { return VERSION; } public CacheDownloader downloadCache() { try { File location = new File(getCacheDir()); File version = new File(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"); if(!location.exists()) { //drawLoadingText("Loading new Updates...."); downloadFile(getCacheLink(), getArchivedName()); unZip(); //System.out.println("UNZIP"); BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat")); versionFile.close(); deleteZIP(getArchivedName()); } else { if(!version.exists()) { //drawLoadingText("~ First Time Installation, Only Once! ~"); downloadFile(getCacheLink(), getArchivedName()); unZip(); //System.out.println("UNZIP"); BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat")); versionFile.close(); deleteZIP(getArchivedName()); } else { return null; } } } catch(Exception e) { } return null; } private void downloadFile(String adress, String localFileName) { OutputStream out = null; URLConnection conn; InputStream in = null; try { URL url = new URL(adress); out = new BufferedOutputStream( new FileOutputStream(getCacheDir() + "/" +localFileName)); conn = url.openConnection(); in = conn.getInputStream(); byte[] data = new byte[BUFFER]; int numRead; long numWritten = 0; int length = conn.getContentLength(); while((numRead = in.read(data)) != -1) { out.write(data, 0, numRead); numWritten += numRead; int percentage = (int)(((double)numWritten / (double)length) * 100D); drawLoadingText(percentage, "Downloading Cache " + percentage + "%..."); } System.out.println(localFileName + "\t" + numWritten); drawLoadingText("Unpacking.."); } catch (Exception exception) { exception.printStackTrace(); } finally { try { if (in != null) { in.close(); } if (out != null) { out.close(); } } catch (IOException ioe) { } } } private String getArchivedName() { int lastSlashIndex = getCacheLink().lastIndexOf('/'); if (lastSlashIndex >= 0 && lastSlashIndex < getCacheLink().length() -1) { return getCacheLink().substring(lastSlashIndex + 1); } else { //System.err.println("error retreiving archivaed name."); } return ""; } private void unZip() { try { InputStream in = new BufferedInputStream(new FileInputStream(fileToExtract)); ZipInputStream zin = new ZipInputStream(in); ZipEntry e; while((e=zin.getNextEntry()) != null) { if(e.isDirectory()) { (new File(getCacheDir() + e.getName())).mkdir(); } else { if (e.getName().equals(fileToExtract)) { unzip(zin, fileToExtract); break; } unzip(zin, getCacheDir() + e.getName()); } //System.out.println("unzipping2 " + e.getName()); } zin.close(); } catch(Exception e) { e.printStackTrace(); } } private void deleteZIP(String fileName){ // A File object to represent the filename File f = new File(getCacheDir() + fileName); // Make sure the file or directory exists and isn't write protected if (!f.exists()) throw new IllegalArgumentException( "Delete: no such file or directory: " + fileName); if (!f.canWrite()) throw new IllegalArgumentException("Delete: write protected: " + fileName); // If it is a directory, make sure it is empty if (f.isDirectory()) { String[] files = f.list(); if (files.length > 0) throw new IllegalArgumentException( "Delete: directory not empty: " + fileName); } // Attempt to delete it boolean success = f.delete(); if (!success) throw new IllegalArgumentException("Delete: deletion failed"); } private void unzip(ZipInputStream zin, String s) throws IOException { FileOutputStream out = new FileOutputStream(s); //System.out.println("unzipping " + s); byte [] b = new byte[BUFFER]; int len = 0; while ((len = zin.read(b)) != -1) { out.write(b,0,len); } out.close(); } }
Last edited by Huey; 09-29-2012 at 08:13 PM. Reason: Don't use the Quote BB anymore for Codes
did you save your cache as a .zip instead of .rar?
lol i did all those things, its the Rune-World client which are fucking wierd..
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |