FTPClient.listFiles 没有以秒为单位返回时间
FTPClient.listFiles is not returning time in seconds
private static void getFTPFileProperties(FTPClient client,
String ftpLocation, String pattern) throws IOException {
FTPFile[] fileList=null;
fileList = client.listFiles();
for(int i=0;i<fileList.length;i++)
{
FTPFile file= fileList[0];
Calendar cal = file.getTimestamp();
DateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormater.format(cal.getTime()));
}
}
我已经编写了上述函数来检索文件详细信息。但不知何故,我正在检索没有文件秒部分的详细信息。
我将 lastModifiedDate
检索为 2013-08-08 00:00:00
,因为它的实际 lastModifiedDate
是 2013-08-08 12:53:27 PM
FTPClient.listFiles
使用古老的 LIST
命令。使用该命令,FTP 服务器 returns 一个类似于 Unix ls
命令的列表是很常见的。对于旧文件(超过一年),它仅显示精确到天的时间戳。
如今,您应该始终使用 FTPClient.mlistDir
, which uses the modern MLSD
command,它始终以秒精度检索时间戳。
public FTPFile[] mlistDir() throws IOException
当然,除非您连接到不支持 MLSD
命令的古老 FTP 服务器。
请注意,mlistDir
自 Apache Commons Net 3.0 起受支持。
private static void getFTPFileProperties(FTPClient client,
String ftpLocation, String pattern) throws IOException {
FTPFile[] fileList=null;
fileList = client.listFiles();
for(int i=0;i<fileList.length;i++)
{
FTPFile file= fileList[0];
Calendar cal = file.getTimestamp();
DateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormater.format(cal.getTime()));
}
}
我已经编写了上述函数来检索文件详细信息。但不知何故,我正在检索没有文件秒部分的详细信息。
我将 lastModifiedDate
检索为 2013-08-08 00:00:00
,因为它的实际 lastModifiedDate
是 2013-08-08 12:53:27 PM
FTPClient.listFiles
使用古老的 LIST
命令。使用该命令,FTP 服务器 returns 一个类似于 Unix ls
命令的列表是很常见的。对于旧文件(超过一年),它仅显示精确到天的时间戳。
如今,您应该始终使用 FTPClient.mlistDir
, which uses the modern MLSD
command,它始终以秒精度检索时间戳。
public FTPFile[] mlistDir() throws IOException
当然,除非您连接到不支持 MLSD
命令的古老 FTP 服务器。
请注意,mlistDir
自 Apache Commons Net 3.0 起受支持。