为了让我的工作更轻松,我正在制作一个 Java 程序来从服务器下载一些模块(有时它们会从我的本地机器上删除,并且需要 15 分钟才能构建它们)。以下是我下载文件的代码:
请注意,所有文件都小于 1 兆字节。
URL url = new URL("http://www.url.com/ModuleName.swf");
URLConnection connection = url.openConnection();
InputStream input = connection.getInputStream();
byte[] buffer = new byte[4096];
int n = -1;
OutputStream output = new FileOutputStream(new File("dlFile.swf"));
while ((n = input.read(buffer)) != -1)
{
output.write(buffer, 0, n);
output.flush();
}
output.close();
如果我使用十六进制编辑器比较通过 Java 和通过 Firefox 下载的文件,一开始几乎是一样的。但是后来出现了很多错误。
现在,奇怪的是:如果我使用 Firefox 下载文件并将该文件上传到保管箱,我的应用程序将正确下载该文件。
知道什么可能导致这种情况吗?