在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服务器的配置有关?但我有点难过。
答案 0 :(得分:4)
或许值得查看具有FTP功能的Jakarta Commons Net API。
我认为你可以使用list files来提供你可以getTimeStamp开启的文件对象,然后你应该能够得到你需要的文件对象。
答案 1 :(得分:3)
不幸的是,标准没有规定FTP服务器目录列表的输出。实际上,它明确地描述为不用于机器解析。某些操作系统上的服务器之间的格式会有很大差异。
RFC 3659描述了FTP标准的一些扩展,包括用于查询修改时间的“MDTM”命令。如果幸运的话,您要与之交谈的服务器已实现此扩展程序。
答案 2 :(得分:1)
getTimestamp()
获取文件的最后修改时间。如果您正在尝试将文件上传到服务器的时间,那将无法正常工作。我正在尝试做类似的事情,我想获得在X时间之后上传的所有文件。如果没有实际执行ls
并解析它,我找不到干净的方法。