java从服务器下载文件获取文件修改时间

2023-05-24 15:15:49 北斗时源

要从服务器下载文件并获取文件的修改时间,您可以使用 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` 对象,表示文件的修改时间。


请确保您具有从服务器下载文件的权限,并且网络连接正常。还要注意,在实际使用时,您可能需要处理异常和错误情况,并进行适当的错误处理和文件路径处理。


首页
产品
联系
Baidu
map