java从FTP文件列表中获取项目的时间戳
在Java中,我尝试登录到FTP服务器并查找比x更新的所有文件以进行检索
目前我有一个输入流,读取目录内容并逐行打印出来,这一切都很好,但输出相当模糊。。。看起来像这样
-rw------- 1 vuser 4773 Jun 10 2008 .bash_history
-rw-r--r-- 1 vuser 1012 Dec 9 2007 .bashrc
lrwxrwxrwx 1 root 7 Dec 9 2007 .profile -> .bashrc
drwx------ 2 vuser 4096 Jan 30 01:08 .spamassassin
drwxr-xr-x 2 vuser 4096 Dec 9 2007 backup.upgrade_3_7
dr-xr-xr-x 2 root 4096 Dec 10 2007 bin
等等
但是,我需要以秒或毫秒为单位的实际时间戳,以便确定是否需要该文件
我想这与FTP服务器的配置有关?但我有点被难住了
# 1 楼答案
不幸的是,FTP服务器目录列表的输出不是标准要求的。事实上,它被明确描述为不用于机器解析。在某些操作系统上,不同服务器的格式会有很大差异
RFC 3659描述了FTP标准的一些扩展,包括用于查询修改时间的“MDTM”命令。如果幸运的话,您想与之交谈的服务器已经实现了这个扩展
# 2 楼答案
getTimestamp()
获取文件的最后修改时间。如果你想知道文件上传到服务器的时间,那是行不通的。我正在尝试做类似的事情,我想得到X时间之后上传的所有文件。我找不到一个干净的方法来做这件事,而不实际地做一个ls
并通过它进行解析# 3 楼答案
也许值得一看具有FTP功能的Jakarta Commons NetAPI
我认为你可以使用list files这会给你文件对象,你可以做getTimeStamp的,然后你应该能够得到你需要的