可以使用 Java NIO :
URL website = new URL("http://www.codingdict.com/");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
使用transferFrom()
是可能不是一个简单的循环从源信道的读取和写入这个频道有效得多。许多操作系统可以直接将字节从源通道传输到文件系统缓存中,而无需实际复制它们。
使用apache commons-io,只需一行代码:
FileUtils.copyURLToFile(URL, File)