Hello, I'm having trouble renaming a cache and adding it to my dropbox for it to be downloaded, I have followed a tutorial but I still am having issues,
Below Is a picture of how I archived it , which appears to be correct, My Cache downloader Code and signlink code
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;
/*
* Only things you need to change
*
*/
private final int VERSION = 2; // Version of cache
private String cacheLink = "https://www.dropbox.com/s/cj6i3v932gl2mgi/xerocache.zip?dl=0"; // 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("Downloading Cache Please wait...");
downloadFile(getCacheLink(), getArchivedName());
unZip();
System.out.println("UNZIP");
BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
versionFile.close();
} else {
if(!version.exists()) {
//drawLoadingText("Downloading Cache Please wait...");
downloadFile(getCacheLink(), getArchivedName());
unZip();
System.out.println("UNZIP");
BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
versionFile.close();
} 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("Finished downloading "+getArchivedName()+"!");
} 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 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();
}
}
Code:
public static String findcachedir()
{
boolean exists = (new File(System.getProperty("user.home") + "/xerocache")).exists();
if (exists) {
return System.getProperty("user.home") + "/xerocache/";
} else {
File f = new File(System.getProperty("user.home") + "/xerocache/");
f.mkdir();
return System.getProperty("user.home") + "/xerocache/";
}
}
public static String findcachedirORIG()
{
String as[] = {
"c:/windows/", "c:/winnt/", "d:/windows/", "d:/winnt/", "e:/windows/", "e:/winnt/", "f:/windows/", "f:/winnt/", "c:/", "~/",
"/tmp/", "", "c:/rscache", "/rscache"
};
if(storeid < 32 || storeid > 34)
storeid = 32;
String s = ".file_store_" + storeid;
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;
}
Also in Client.java
Code:
void startUp() {
drawLoadingText(20, "Connecting to Zaryte Network...");
new CacheDownloader(this).downloadCache();
if (signlink.sunjava)
super.minDelay = 5;
if (aBoolean993) {
// rsAlreadyLoaded = true;
// return;
}
aBoolean993 = true;
getDocumentBaseHost();
if (signlink.cache_dat != null) {
for (int i = 0; i < 5; i++)
decompressors[i] = new Decompressor(signlink.cache_dat,
signlink.cache_idx[i], i + 1);
}
this is the Error that I get, i also noticed the cache that shows up when i run client all the files have 0bytes

any help would be greatly appreciated, can add my skype dustin.ward13 /PM me or reply to this post. Will rep ++