我有这段代码从特定的URL下载.jar文件并将其放入特定的文件夹中。下载的jar文件是一款游戏的mod,这意味着它必须下载并正确运行而不会被破坏。下载的jar文件损坏
问题是,每次我尝试下载文件时,它都会以某种方式损坏,并在加载时导致错误。
这是我的下载代码:
final static int size=1024;
public static void downloadFile(String fAddress, String localFileName, String destinationDir, String modID) {
OutputStream outStream = null;
URLConnection uCon = null;
InputStream is = null;
try {
URL Url;
byte[] buf;
int ByteRead,ByteWritten=0;
Url= new URL(fAddress);
outStream = new BufferedOutputStream(new
FileOutputStream(destinationDir+"/"+localFileName));
uCon = Url.openConnection();
is = uCon.getInputStream();
buf = new byte[size];
while ((ByteRead = is.read(buf)) != -1) {
outStream.write(buf, 0, ByteRead);
ByteWritten += ByteRead;
}
System.out.println("Downloaded Successfully.");
System.out.println("File name:\""+localFileName+ "\"\nNo ofbytes :" + ByteWritten);
System.out.println("Writing info file");
WriteInfo.createInfoFile(localFileName, modID);
}catch (Exception e) {
e.printStackTrace();
}
finally {
try {
is.close();
outStream.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
任何想法是错误的代码?
附注:编码约定表示变量名应该以小写字母开头。 – abbas
这段代码没有什么明显的错误。下载的文件以何种方式损坏? (长度错误,字节替换,..)你能确定它不是破坏文件的服务器吗? – Joni
我知道这个文件在服务器上很好,因为我试图用我的网页浏览器手动下载并安装它。当我尝试过,它工作正常 – JamEngulfer