有一个在线文件(如http://www.example.com/information.asp)我需要抓取并保存到一个目录中。我知道有几种方法可以一行一行地抓取和读取在线文件(URL),但是有没有一种方法可以使用Java下载和保存文件
给出Java NIO一次尝试:
URL网站=新URL(“http://www.website.com/information.asp");
ReadableByteChannel rbc=Channels.newChannel(website.openStream());
FileOutputStream fos=新的FileOutputStream(“information.html”);
fos.getChannel().transferFrom(rbc,0,Long.MAX_值);
使用transferFrom()可能比从源通道读取并写入此通道的简单循环效率更高。许多操作系统可以直接将字节从源通道传输到文件系统缓存,而无需实际复制它们
查看更多信息此处
注意:transferFrom中的第三个参数是要传输的最大字节数Integer.MAX_VALUE最多传输2^31个字节,Long.MAX_VALUE最多允许传输2^63个字节(大于现有的任何文件)