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();
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


