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

时间:2012-03-03 04:49:53

标签: java ftp cmd

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

我正在尝试使用方法FileTransferClient getModifiedTime(java.lang.String remoteFileName)

检索ftp文件创建日期

但收到以下错误:

  

com.enterprisedt.net.ftp.FTPException:550命令MDTM不是   可用于'AAAA.BBBB.CCCC.DDDDD.EEEEEEEEEE(0)'

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

查看两个链接

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

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

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

    编辑:尝试了remotehelp命令,下面是回复:

      

    214-服务器-FTP命令是:214-ABOR,* ACCT,* ALLO,APPE,CDUP,   CWD,DELE,FEAT,HELP,LANG,LIST,MDTM,MKD 214-MODE,NLST,NOOP,   OPTS,PASS,PASV,PORT,PWD,QUIT,REIN,REST,RETR,RMD 214-RNFR,   RNTO,SITE,SIZE, SMNT,SYST,STAT,STOR,STOU,STRU,TYPE,USER   214-ADAT,AUTH,CCC,PBSZ,PROT,EPSV,EPRT 214-之前的命令   ''没有实现

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

2 个答案:

答案 0 :(得分:0)

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

MDTM(获取上次修改时间)是一个扩展,因此FTP服务器可以选择实现它。此外,没有命令在任何与FTP相关的RFC建议中询问文件创建时间。

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

答案 1 :(得分:0)

我认为可以使用

getRaw();

Javadoc告诉:

  

getRaw()

     

public java.lang.String getRaw()

     

返回:

     

返回原始服务器字符串。

因此,如果您使用“LIST”查询服务器,则应该获取所有文件的列表,包括上次修改时间。 您必须手动解析修改时间。