我正在使用库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'
和相同的响应。
看了两个链接
-
http://www.nsftools.com/tips/RawFTP.htm
-
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";,你应该从所有文件中得到一个列表,包括上次修改时间。您必须手动解析出修改时间。