Thread: Problem with cache

Results 1 to 9 of 9
  1. #1 Problem with cache 
    Registered Member
    Join Date
    May 2010
    Posts
    92
    Thanks given
    25
    Thanks received
    9
    Rep Power
    68
    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 = "";
    
    
    }
    Reply With Quote  
     

  2. #2  
    Kneel before me.

    Join Date
    Sep 2012
    Posts
    200
    Thanks given
    202
    Thanks received
    91
    Rep Power
    125
    post your cachedownloader.java
    Reply With Quote  
     

  3. #3 cache 
    Registered Member
    Join Date
    May 2010
    Posts
    92
    Thanks given
    25
    Thanks received
    9
    Rep Power
    68
    Quote Originally Posted by Early View Post
    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();
    	}
    }
    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    May 2010
    Posts
    92
    Thanks given
    25
    Thanks received
    9
    Rep Power
    68
    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.
    Reply With Quote  
     

  5. #5  
    Kneel before me.

    Join Date
    Sep 2012
    Posts
    200
    Thanks given
    202
    Thanks received
    91
    Rep Power
    125
    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
    Reply With Quote  
     

  6. #6  
    Registered Member
    Join Date
    May 2010
    Posts
    92
    Thanks given
    25
    Thanks received
    9
    Rep Power
    68
    Quote Originally Posted by Early View Post
    try using my cachedownloader
    Not works ffs, this sucks tits.
    Reply With Quote  
     

  7. #7  
    Banned
    Join Date
    Feb 2012
    Posts
    584
    Thanks given
    0
    Thanks received
    13
    Rep Power
    0
    did you save your cache as a .zip instead of .rar?
    Reply With Quote  
     

  8. #8  
    GooRoo
    Guest
    Change RAR to ZIP.
    Reply With Quote  
     

  9. #9  
    Registered Member
    Join Date
    May 2010
    Posts
    92
    Thanks given
    25
    Thanks received
    9
    Rep Power
    68
    lol i did all those things, its the Rune-World client which are fucking wierd..
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. P.I. Cache problem
    By zzzfishstick in forum Help
    Replies: 5
    Last Post: 02-02-2012, 12:47 AM
  2. [PI] Cache Problem
    By Deth in forum Help
    Replies: 5
    Last Post: 10-15-2011, 04:43 AM
  3. Cache Problem Help
    By blood eater in forum Help
    Replies: 1
    Last Post: 07-08-2011, 04:21 PM
  4. Cache Problem
    By Chachi in forum Help
    Replies: 6
    Last Post: 11-29-2009, 06:24 PM
  5. Cache Problem Please Help!
    By Mouse in forum Help
    Replies: 3
    Last Post: 05-31-2009, 01:58 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •