FTPClient 獲取文件的秒級最后修改時間


二次開發DataX ftpreader

需要精確獲取ftp端文件的最后修改時間,

開始使用的是

FTPFile[] ftpFiles = ftpClient.listFiles(new String(fileName.getBytes(),FTP.DEFAULT_CONTROL_ENCODING));
if(ftpFiles != null){
if (ftpFiles.length == 1 && ftpFiles[0].isFile()) {
lastModifyTime = ftpFiles[0].getTimestamp().getTimeInMillis() +
ftpFiles[0].getTimestamp().getTimeZone().getOffset(0);

// System.out.println(lastModifyTime);
}

但是獲取到的修改時間精確度只能到分鍾,取不到秒和毫秒值,

改用

            FTPFile[] ftpFiles = ftpClient.listFiles(new String(fileName.getBytes(),FTP.DEFAULT_CONTROL_ENCODING));
            if(ftpFiles != null){
                if (ftpFiles.length == 1 && ftpFiles[0].isFile()) {
//                    lastModifyTime = ftpFiles[0].getTimestamp().getTimeInMillis() +
//                            ftpFiles[0].getTimestamp().getTimeZone().getOffset(0);
                    String lastModifyTimeStr = ftpClient.getModificationTime(fileName).substring(4);
                    SimpleDateFormat sdf =  new SimpleDateFormat( "yyyyMMddHHmmss");
                    Date startTimeDate = sdf.parse(lastModifyTimeStr);
                    lastModifyTime = startTimeDate.getTime() + ftpFiles[0].getTimestamp().getTimeZone().getOffset(0);
//                    System.out.println(lastModifyTime);
                }
            }

這樣獲取到精確的秒了,但是獲取不到毫秒,

 

 

但已經滿足篩選控制需求,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM