Jump to content
  • 0
Sign in to follow this  
Fejj

Need help with updatecache.java error when extracting zip.

Question

[ATTACH=CONFIG]10977[/ATTACH]
UpdateCache.java
[CODE]import java.net.URL;
import java.net.URLConnection;
import java.util.zip.*;
import sign.signlink;
import java.io.*;
import javax.swing.JOptionPane;

public class UpdateCache implements Runnable {

public static final String ZIP_URL = "https://www.dropbox.com/s/ersrew09n4662oo/.TrisidiaX_Cache_V4,zip?dl=1";
public static final String VERSION_URL = "https://www.dropbox.com/s/fkpsrcsktblfucy/cacheVersion10.txt?dl=1";
public static final String VERSION_FILE = sign.signlink.findcachedir()+"cacheVersion10.dat";
private client client;
client frame;
public UpdateCache(client client) {
this.client = client;
}

private void drawLoadingText(int amount, String text) {
client.drawLoadingText(amount, text);
}

public double getCurrentVersion(){
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(VERSION_FILE)));
return Double.parseDouble(br.readLine());
} catch (Exception e) {
return 0.1;
}
}

public double getNewestVersion(){
try {
URL tmp = new URL(VERSION_URL);
BufferedReader br = new BufferedReader(new InputStreamReader(tmp.openStream()));
return Double.parseDouble(br.readLine());
} catch (Exception e) {
handleException(e);
return -1;
}
}

private void handleException(Exception e){
StringBuilder strBuff = new StringBuilder();
strBuff.append("Please Screenshot this message, and send it to an admin!\r\n\r\n");
StringBuilder append = strBuff.append(e.getClass().getName()).append(" \"").append(e.getMessage()).append("\"\r\n");
for(StackTraceElement s : e.getStackTrace())
strBuff.append(s.toString()).append("\r\n");
alert("Exception [" + e.getClass().getSimpleName() + "]",strBuff.toString(),true);
}

private void alert(String msg){
alert("Message",msg,false);
}

private void alert(String title,String msg,boolean error){
JOptionPane.showMessageDialog(null,
msg,
title,
(error ? JOptionPane.ERROR_MESSAGE : JOptionPane.PLAIN_MESSAGE));
}

[MENTION=15855]Over[/MENTION]ride
public void run() {
drawLoadingText(0, "Checking Versions");
try{
double newest = getNewestVersion();
if(newest > this.getCurrentVersion()){
int n = JOptionPane.showConfirmDialog(
null,
"There is an update to version " + newest + "\n" +
"Would you like to update?",
"Current version: "+ getCurrentVersion(),
JOptionPane.YES_NO_OPTION);
if(n == 0){
updateClient();
drawLoadingText(0, "Cache has been updated, please restart the client!");
alert("Cache has been updated, please restart the client!");
OutputStream out = new FileOutputStream(VERSION_FILE);
out.write(String.valueOf(newest).getBytes());;
System.exit(0);
}else{
alert(" Your client may not load correct " +
getCurrentVersion());
//System.exit(0);
}
}
}catch(Exception e){
handleException(e);
}
}

private void updateClient() {
File clientZip = downloadClient();
if(clientZip != null){
unZip(clientZip);
}
}

private void unZip(File clientZip) {
try {
unZipFile(clientZip,new File(sign.signlink.findcachedir()));
clientZip.delete();
} catch (IOException e) {
handleException(e);
}
}

private void unZipFile(File zipFile,File outFile) throws IOException{
ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
ZipEntry e;
long max = 0;
long curr = 0;
while((e = zin.getNextEntry()) != null)
max += e.getSize();
zin.close();
ZipInputStream in = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
while((e = in.getNextEntry()) != null){
if(e.isDirectory())
new File(outFile,e.getName()).mkdirs();
else{
FileOutputStream out = new FileOutputStream(new File(outFile,e.getName()));
byte[] b = new byte[1024];
int len;
while((len = in.read(b,0,b.length)) > -1){
curr += len;
out.write(b, 0, len);
setUnzipPercent((int)((curr * 100) / max));
}
out.flush();
out.close();
}
}
}

public int percent = 0;

public void setDownloadPercent(int amount){
percent = amount;
drawLoadingText(amount, "Downloading Cache" + " - " + amount + "%");
}

public int percent2 = 0;

public void setUnzipPercent(int amount2){
percent2 = amount2;
drawLoadingText(amount2, "Extracting Cache" + " - " + amount2 + "%");
}

private File downloadClient(){
File ret = new File(signlink.findcachedir()+"cache.zip");
try{
OutputStream out = new FileOutputStream(ret);
URLConnection conn = new URL(ZIP_URL).openConnection();
InputStream in = conn.getInputStream();
long max = conn.getContentLength();
long curr = 0;
byte[] b = new byte[1024];
int len;
while((len = in.read(b, 0, b.length)) > -1){
out.write(b,0,len);
curr += len;
setDownloadPercent((int)((curr * 100) / max));
}
out.flush();
out.close();
in.close();
return ret;
}catch(Exception e){
handleException(e);
ret.delete();
return null;
}
}
}[/CODE]

Signlink.java
[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 = findcachedir();
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) { }
}

}



public static String findcachedir() {
String as[] = {"C:/"};
if(storeid < 32 || storeid > 34)
storeid = 32;
String s = ".TrisidiaX_Cache_V4";
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 = "";

}[/CODE]

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Bump.

Share this post


Link to post
Share on other sites
  • 0
[quote name='Fejj']Bump.[/QUOTE]

Alright. Click on this thread and then click on your picture. Can you read it? Not unless your vision is that of a hawks. Please fix the image by uploading it to imgur or something of the sort.

Share this post


Link to post
Share on other sites
  • 0
Fixed this issue my self please close thread

Share this post


Link to post
Share on other sites
Sign in to follow this  

×