使用FTP下载文件之前获取文件时间

时间:2018-02-07 17:52:58

标签: java ftp

无需在Java中使用getModificationTime即可获取文件创建日期或上次修改日期的任何方法。

我正在使用org.apache.commons.net.ftp.FTPClient类。我的问题是,在下载文件之前,我无法使用getModificationTime来获取时间戳。

2 个答案:

答案 0 :(得分:1)

您可以使用Apache Commons Net库,这是一个示例代码:

package com.grebski.ftp;

import org.apache.commons.net.ftp.FTPClient;

import java.io.IOException;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;

public class FtpTest {

    public static void main(String[] args) throws IOException {
        String ftpUrl = "speedtest.tele2.net";
        FTPClient ftpClient = new FTPClient();
        ftpClient.connect(ftpUrl);
        ftpClient.user("anonymous");
        ftpClient.pass("anonymous@a.com");
        Arrays.stream(ftpClient.listFiles()).forEach(file -> {
                    LocalDateTime creationDateTime = Instant.ofEpochMilli(file.getTimestamp().getTimeInMillis()).atZone(ZoneId.systemDefault()).toLocalDateTime();
                    String msg = String.format("%s %s", file.getName(), creationDateTime);
                    System.out.println(msg);
                }
        );
    }
}

答案 1 :(得分:-1)

您是否有机会找到文件大小和网络速度?它们是学习下载时间的重要方面。