在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
类将数据逐字节写入目标文件中。
在下载文件之前,请确保目标文件路径的目录已存在,并且有足够的权限来写入文件。