如何从ftp中检索文件创建日期



我正在使用库com.enterprisedt.net.ftp.FileTransferClient从ftp服务器下载文件。

我正在尝试使用FileTransferClient getModifiedTime(java.lang.String remoteFileName) 方法检索ftp文件创建日期

但收到以下错误:

com.enterprisedt.net.ftp.FTPException:550命令MDTM不是可用于'AAAAA.BBBB.CCCCC.DDDDD.EEEEEEEE(0)'

我尝试使用命令行中的命令quote mdtm 'filename'和相同的响应。

看了两个链接

  1. http://www.nsftools.com/tips/RawFTP.htm

  2. http://www.nsftools.com/tips/MSFTP.htm

但找不到任何替代方案或解决方法。。有什么想法吗?

编辑:尝试命令remotehelp,下面是响应:

214服务器FTP命令为:214-ABOR、*ACCT、*ALLO、APPE、CDUP、,CWD,DELE,FEAT,HELP,LANG,LIST,MDTM,mkd214-MODE,NLST,NOOP,OPTS,PASS,PASV,PORT,PWD,QUIT,REIN,REST,RETR,RMD 214-RNFR,RNTO、现场、尺寸、SMNT、系统、STAT、STOR、STOU、STRU、类型、用户214-ADAT、AUTH、CCC、PBSZ、PROT、EPSV、EPRT 214前面的命令通过"未实现

根据响应服务器应支持命令MDTM。。我在这里做错什么了吗?

正如响应代码所说,您连接的服务器不支持询问文件的最后修改时间。

MDTM(get last modified time)是一个扩展,因此FTP服务器可以选择实现它。此外,在任何与FTP相关的RFC提议中都没有询问文件创建时间的命令。

除非您的FTP服务器有命令询问文件创建时间,否则使用FTP不太可能完成您想要的操作。

我认为可以使用

getRaw();

Javadoc告诉:

getRaw()

public java.lang.String getRaw()

退货:

返回原始服务器字符串。

因此,如果你用";LIST";,你应该从所有文件中得到一个列表,包括上次修改时间。您必须手动解析出修改时间。

最新更新