发布日期:2018-03-26
JAVA如何下载并保存网络文件+ 查看更多
JAVA如何下载并保存网络文件
+ 查看更多
发布日期:2018-03-08 17:48
分类:JAVA
浏览次数:117
有一个网络文件。比如:http://www.example.com/information.asp.我需要抓取并保存他到一个目录,我知道有几种方法逐行的抓取并保存文件。但是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);
使用transform()可能要比使用循环读取写入更为高效,许多操作系统都可以从源通道直接转换为比特到文件系统缓存中,不需要拷贝。
注意:第三个参数是最大转换比特数,Integer.MAX_VALUE将会转换最多 2^31 bytes, Long.MAX_VALUE 允许转换最多 2^63 bytes (比任何现实存在的文件更大)