Java代码如何从Internet下载文件呢?
下文笔者讲述使用java代码从网络上下载文件的方法分享,如下所示
Apache Commons IO从URL上下载文件的示例分享
java从网络上下载文件的写法
实现思路: 方式1: Apache Commons IO org.apache.commons.io.FileUtils //int = number of milliseconds public static void copyURLToFile(URL source, File destination, int connectionTimeout, int readTimeout) throws IOException 方式2: Java NIO URL website = new URL(fromFile); ReadableByteChannel rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(toFile); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close();例:
Apache Commons IO从URL上下载文件的示例分享
Apache Commons IO从网络上下载文件的示例
1.引入依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency> //2.编写相应的代码 HttpUtils.java package com.java265; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.net.URL; public class HttpUtils { public static void main(String[] args) { String fromFile = "http://java265.com/test.log"; String toFile = "D:\\test.log"; try { //connectionTimeout, readTimeout = 10 seconds FileUtils.copyURLToFile(new URL(fromFile), new File(toFile), 10000, 10000); } catch (IOException e) { e.printStackTrace(); } } }
Java NIO示例
package com.java265; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; public class HttpUtils { public static void main(String[] args) { String fromFile = "http://java265.com/test.log"; String toFile = "D:\\test.log"; try { URL website = new URL(fromFile); ReadableByteChannel rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(toFile); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); rbc.close(); } catch (IOException e) { e.printStackTrace(); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。