java从服务器下载文件获取文件修改时间
要从服务器下载文件并获取文件的修改时间,您可以使用 Java 的标准库和一些网络通信的类来实现。下面是一个基本的示例代码:
```java
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.FileTime;
public class FileDownloader {
public static void main(String[] args) {
String fileURL = "http://example.com/file.txt"; // 替换为实际的文件 URL
String saveDir = "/path/to/save/directory"; // 替换为实际的保存目录
try {
// 从服务器下载文件
downloadFile(fileURL, saveDir);
// 获取文件的修改时间
Path filePath = Path.of(saveDir, "file.txt"); // 替换为实际保存的文件名
FileTime modifiedTime = Files.getLastModifiedTime(filePath);
System.out.println("文件的修改时间:" + modifiedTime);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void downloadFile(String fileURL, String saveDir) throws IOException {
URL url = new URL(fileURL);
URLConnection connection = url.openConnection();
try (BufferedInputStream in = new BufferedInputStream(connection.getInputStream());
FileOutputStream out = new FileOutputStream(Path.of(saveDir, "file.txt").toString())) { // 替换为实际保存的文件名
byte[] dataBuffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
out.write(dataBuffer, 0, bytesRead);
}
}
}
}
```
上述代码中,`fileURL` 变量是要下载的文件的 URL,`saveDir` 变量是要保存文件的目录。您需要将这些变量替换为实际的文件 URL 和保存目录。
代码中的 `downloadFile` 方法使用 `URL` 和 `URLConnection` 来建立与服务器的连接,并从服务器下载文件到本地保存目录。
获取文件的修改时间使用 `Files.getLastModifiedTime` 方法,该方法返回一个 `FileTime` 对象,表示文件的修改时间。
请确保您具有从服务器下载文件的权限,并且网络连接正常。还要注意,在实际使用时,您可能需要处理异常和错误情况,并进行适当的错误处理和文件路径处理。