【发布时间】:2018-01-24 18:18:39
【问题描述】:
我一直在尝试使此代码正常工作,并且现在还浏览了 stackoverflow 一段时间但无法找到答案。希望你能帮忙。
尝试从 Internet 下载 zip 文件,但结果是 1 kb 的 zip 文件。
更新:我试过 Long.MAX_VALUE,但结果是一样的。我真的不确定出了什么问题。普通文本文件仅适用于文件,但不适用于 zipfile。请帮忙。
private static void testDownload() {
try {
URL website = new URL("http://www.sec.gov/Archives/edgar/data/1027884/000102788418000013/0001027884-18-000013-xbrl.zip");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("C:\\0001027884-18-000013-xbrl.zip");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
}catch(Exception e){
System.out.println("EXCEPTION: " + e.getMessage());
System.exit(2);
}
}
【问题讨论】:
-
1024bytes 准确地说,这正是你告诉程序要做的事情。 -
你认为
fos.getChannel().transferFrom(rbc, 0, 1024);在做什么?