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` 對象,表示文件的修改時間。
請確保您具有從服務器下載文件的權限,并且網絡連接正常。還要注意,在實際使用時,您可能需要處理異常和錯誤情況,并進行適當的錯誤處理和文件路徑處理。