有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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服务器的配置有关?但我有点被难住了


共 (3) 个答案

  1. # 1 楼答案

    不幸的是,FTP服务器目录列表的输出不是标准要求的。事实上,它被明确描述为不用于机器解析。在某些操作系统上,不同服务器的格式会有很大差异

    RFC 3659描述了FTP标准的一些扩展,包括用于查询修改时间的“MDTM”命令。如果幸运的话,您想与之交谈的服务器已经实现了这个扩展

  2. # 2 楼答案

    getTimestamp()获取文件的最后修改时间。如果你想知道文件上传到服务器的时间,那是行不通的。我正在尝试做类似的事情,我想得到X时间之后上传的所有文件。我找不到一个干净的方法来做这件事,而不实际地做一个ls并通过它进行解析

  3. # 3 楼答案

    也许值得一看具有FTP功能的Jakarta Commons NetAPI

    我认为你可以使用list files这会给你文件对象,你可以做getTimeStamp的,然后你应该能够得到你需要的