java - 如何在java中下载文件?

标签 java apache-commons

我已经尝试了几个字节 while 循环方法和下面的这个方法:

try {
     URL dl = null;
     dl = new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip");
     ReadableByteChannel rbc = Channels.newChannel(dl.openStream());
     FileOutputStream fos = new FileOutputStream(fileName + "Screenshots.zip");
     fos.getChannel().transferFrom(rbc, 0, 1 << 24);
     System.out.println(fos.getChannel().size());
     fos.close();
     rbc.close();
 } catch (Exception e) {
     e.printStackTrace();
 }

}

但是这些方法并不是非常有效/快速。我发现了有关 Apache Utils 的信息,并且正在使用

 IOUtils.copy(new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip").openStream(), new FileOutputStream(System.getProperty("user.home").replace("\\", "/") + "/Desktop/Screenshots.zip"));

但这是最好的方法吗?我现在很困惑哪种方法最适合下载 26mb 的压缩文件。 (上面的文件只有1mb,我正在测试方法)

我只是想看看是否有人遇到过这个问题,也许他们可以帮助我。谢谢。

最佳答案

如果您已经在类路径上使用 Commons IO

org.apache.commons.io.FileUtils.copyURLToFile(URL, File)

它负责打开和关闭的所有流内务处理以及在 File 的父级上调用 mkdirs。

关于java - 如何在java中下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698109/

相关文章:

java - 如何将 JButton 绑定(bind)到 Enter 键

java - 依赖缺失? java.lang.NoSuchMethodError 错误

java - 如何让 CSVPrinter 引用带空格的字段?

java - 从 java 代码发送邮件 - 可靠的方式

java - 整数线性规划 Java : Multiple Open Source and Commercial tools are available. 使用哪一个?

java - Apache commons-net FTP 错误

java - 从 Map 中的对象检索值

java - 谷歌应用程序引擎云端点安全

java - 从命令行运行,名称错误

java - Spring 启动 : Is there a similar way to hold an XML resource of strings and reference them like in Androids framework?