知道文件在服务器上的相对路径,怎么下载
时间: 2024-10-20 20:07:59 浏览: 28
在Java中,如果你知道了文件的相对路径,你可以使用`java.net.URL`类配合`java.io.InputStream`和`java.nio.file.Files`来下载文件。以下是一个简单的示例:
```java
import java.io.InputStream;
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 downloadFile(String filePath) throws Exception {
URL url = new URL("file:" + filePath); // 假设filePath是服务器上的相对路径
InputStream inputStream = url.openStream();
Path destination = Paths.get("path_to_save_file"); // 本地保存的位置
Files.copy(inputStream, destination, StandardCopyOption.REPLACE_EXISTING); // 如果文件已存在,会被替换
inputStream.close(); // 关闭流
}
}
```
在这个例子中,`URL.openStream()`用于打开URL并返回一个到该资源的连接。`Files.copy()`则从输入流复制数据到指定的目标文件。
注意,这个例子假设文件是一个HTTP或HTTPS协议的远程文件,如果是文件系统(例如,`file:///`开头),可以直接用`URL`构造函数创建。如果服务器使用的是其他网络协议,如FTP,你可能需要使用相应的库(如Apache HttpClient)来处理。
阅读全文