gpt4 book ai didi

java - 如何将 FTPClient 文件的最后修改与本地文件进行比较?

转载 作者:行者123 更新时间:2023-11-30 08:14:33 24 4
gpt4 key购买 nike

我有两个文件,一个在服务器上,一个在本地,我想获取这两个文件的最后修改,看看哪个更新。我做了一个方法,但我总是得到相同的结果。我尝试了每一边的测试,但 if 语句总是做出相同的决定。

这是我的代码:

public void SyncCheck(FTPClient ftpClient, String remoteFilePath, String savePath) throws IOException, ParseException{
String time = ftpClient.getModificationTime(remoteFilePath);
Date remoteFileDate = timeSplitter(time);
Date LocalFileDate = new Date(new File(savePath).lastModified());

if(remoteFileDate.after(LocalFileDate)){
System.out.println("Remote File is newer: " + remoteFileDate);
}
else{
System.out.println("nothing");
System.out.println("Remote " + remoteFileDate);
System.out.println("Local " + LocalFileDate);
}
}

public Date timeSplitter(String time) throws ParseException{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String timePart = time.split(" ")[1];
Date modificationTime = dateFormat.parse(timePart);
return modificationTime;
}

结果总是这样:

nothing
Remote Fri Apr 03 02:20:30 BST 2015
Local Fri Apr 03 03:12:58 BST 2015

无论远程文件是新的还是旧的。我注意到的另一个是远程文件在 03:20:30 被修改,但总是晚一个小时。与时区有关吗?

或者有什么想法可以比较一个服务器文件与本地文件的最后修改时间吗?

最佳答案

没有标准的方法可以知道 ftp 服务器的时区,但是你可以做的是上传一个文件,然后计算 FTP 报告的文件时间与本地的时间差。这必须是作为程序第一步运行的方法,用于在您的每个客户端应用程序中初始化时区逻辑。

关于java - 如何将 FTPClient 文件的最后修改与本地文件进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com