温馨提示×

java怎么根据文件路径下载文件

小亿
498
2023-08-09 20:50:50
栏目: 编程语言

在Java中,可以使用java.net.URL类和java.nio.file.Files类来根据文件路径下载文件。

以下是一个示例代码:

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
public class FileDownloader {
public static void main(String[] args) {
String fileUrl = "http://example.com/file.txt";
String destinationPath = "C:/download/file.txt";
try {
// 方法1:使用 java.net.URL 和 java.nio.file.Files
URL url = new URL(fileUrl);
Path destination = Path.of(destinationPath);
Files.copy(url.openStream(), destination, StandardCopyOption.REPLACE_EXISTING);
// 方法2:使用 java.net.URL 和 FileOutputStream
/*
try (BufferedInputStream in = new BufferedInputStream(url.openStream());
FileOutputStream fileOutputStream = new FileOutputStream(destinationPath)) {
byte[] dataBuffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
fileOutputStream.write(dataBuffer, 0, bytesRead);
}
}
*/
System.out.println("文件下载完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}

在上面的示例代码中,你可以选择使用方法1或方法2来下载文件。java.net.URL.openStream()方法可以打开与URL的连接,并返回一个输入流,可以从中读取数据。然后使用java.nio.file.Files.copy()方法将数据复制到指定的目标文件中。或者,你可以使用java.io.FileOutputStream类将数据逐字节写入目标文件中。

在下载文件之前,请确保目标文件路径的目录已存在,并且有足够的权限来写入文件。

0