如何使用Java从互联网下载和保存文件?

问题:

有一个在线文件(如http://www.example.com/information.asp)我需要抓住并保存到一个目录。我知道有几种方法来逐行抓取和阅读在线文件(URL),但是有没有办法使用Java下载和保存文件?

回答:

尝试Java NIO

URL website = new URL("http://www.website.com/information.asp");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

使用transferFrom()比从源通道读取并写入此通道的简单循环更有效。许多操作系统可以将字节直接从源通道传输到文件系统高速缓存中,而无需实际复制它们。
查看更多关于它here
 注意:transferFrom中的第三个参数是要传输的最大字节数。 Integer.MAX_VALUE将传输最多2 ^ 31个字节,Long.MAX_VALUE将允许最多2 ^ 63个字节(大于存在的任何文件)。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to download and save a file from Internet using Java?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 6 =