java從服務(wù)器下載文件獲取文件修改時(shí)間
要從服務(wù)器下載文件并獲取文件的修改時(shí)間,您可以使用 Java 的標(biāo)準(zhǔn)庫(kù)和一些網(wǎng)絡(luò)通信的類來(lái)實(shí)現(xiàn)。下面是一個(gè)基本的示例代碼:
```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"; // 替換為實(shí)際的文件 URL
String saveDir = "/path/to/save/directory"; // 替換為實(shí)際的保存目錄
try {
// 從服務(wù)器下載文件
downloadFile(fileURL, saveDir);
// 獲取文件的修改時(shí)間
Path filePath = Path.of(saveDir, "file.txt"); // 替換為實(shí)際保存的文件名
FileTime modifiedTime = Files.getLastModifiedTime(filePath);
System.out.println("文件的修改時(shí)間:" + 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())) { // 替換為實(shí)際保存的文件名
byte[] dataBuffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
out.write(dataBuffer, 0, bytesRead);
}
}
}
}
```
上述代碼中,`fileURL` 變量是要下載的文件的 URL,`saveDir` 變量是要保存文件的目錄。您需要將這些變量替換為實(shí)際的文件 URL 和保存目錄。
代碼中的 `downloadFile` 方法使用 `URL` 和 `URLConnection` 來(lái)建立與服務(wù)器的連接,并從服務(wù)器下載文件到本地保存目錄。
獲取文件的修改時(shí)間使用 `Files.getLastModifiedTime` 方法,該方法返回一個(gè) `FileTime` 對(duì)象,表示文件的修改時(shí)間。
請(qǐng)確保您具有從服務(wù)器下載文件的權(quán)限,并且網(wǎng)絡(luò)連接正常。還要注意,在實(shí)際使用時(shí),您可能需要處理異常和錯(cuò)誤情況,并進(jìn)行適當(dāng)?shù)腻e(cuò)誤處理和文件路徑處理。