How to download file from URL in java
程序员文章站
2022-05-27 14:52:25
...
摘要:在这篇文章中,我们将了解如何从java中的URL下载文件。当您想要使用java从URL自动下载任何文件时,可以使用它。
有很多方法可以做到这一点,其中一些是:
- Using Java input output stream
- Using apache common IO
- Using NIO
Java Program:
package cn.micai.io;
import org.apache.commons.io.FileUtils;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
/**
* 描述:How to download file from URL in java
* <p>
* Using Java input output stream
Using apache common IO
Using NIO
*
* @author: 赵新国
* @date: 2018/6/7 10:15
*/
public class FileDownloadFromURLMain {
public static void main(String [] args) {
String dirName = "D://";
System.out.println("---------------------------");
System.out.println("Downloading file from github using java file IO");
// Using java IO
downloadFileFromUrlWithJavaIO(dirName + "/sampleFile1.zip",
"https://github.com/arpitmandliya/SpringRestfulWebServicesWithJSONExample/archive/master.zip");
System.out.println("Downloaded file from github using java file IO");
System.out.println("---------------------------");
System.out.println("Downloading file from github using apache common IO");
// Using Apache common IO
downloadFileFromUrlWithCommonsIO(dirName + "/sampleFile2.zip",
"https://github.com/arpitmandliya/SpringRestfulWebServicesWithJSONExample/archive/master.zip");
System.out.println("Downloaded file from github using apache common IO");
System.out.println("---------------------------");
System.out.println("Downloading file from github using NIO");
// Using NIO
downloadFileFromURLUsingNIO(
dirName + "/sampleFile3.zip",
"https://github.com/arpitmandliya/SpringRestfulWebServicesWithJSONExample/archive/master.zip");
System.out.println("Downloaded file from github using NIO");
System.out.println("---------------------------");
}
// Using Java IO
private static void downloadFileFromUrlWithJavaIO(String fileName, String fileUrl) {
BufferedInputStream inputStream = null;
FileOutputStream outputStream = null;
try {
URL url = new URL(fileUrl);
inputStream = new BufferedInputStream(url.openStream());
outputStream = new FileOutputStream(fileName);
byte data[] = new byte[1024];
int count;
while ((count = inputStream.read(data, 0, 1024)) != -1) {
outputStream.write(data, 0, count);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
// Using Apache common IO
private static void downloadFileFromUrlWithCommonsIO(String fileName, String fileUrl) {
try {
FileUtils.copyURLToFile(new URL(fileUrl), new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
}
// Using NIO
private static void downloadFileFromURLUsingNIO(String fileName, String fileUrl) {
try {
URL url = new URL(fileUrl);
ReadableByteChannel readableByteChannel = Channels.newChannel(url.openStream());
FileOutputStream fileOutputStream = new FileOutputStream(fileName);
fileOutputStream.getChannel().transferFrom(readableByteChannel, 0, Long.MAX_VALUE);
fileOutputStream.close();
readableByteChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
当您运行上述程序时,文件将被下载到上述目录中。您将得到以下输出:
上一篇: 文件File
推荐阅读
-
C# extract img url from web content then download the img
-
How to download sales BOM from ERP to CRM SAP成都研究院SAP Cloud PlatformSAP云平台SAPABAP
-
PHP Download Image Or File From URL
-
C# extract img url from web content then download the img
-
Java – How to download a file from the Internet
-
Java – How to download a file from the Internet
-
java.net.SocketException: Unexpected end of file from server
-
How to download file from URL in java
-
PHP Download Image Or File From URL
-
How do I import function from .pyx file in python?