zoukankan      html  css  js  c++  java
  • 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);
                    }
                }

    这样获取到精确的秒了,但是获取不到毫秒,

    但已经满足筛选控制需求,

  • 相关阅读:
    laravel blog 一
    dede:channelartlist currentstyle高亮显示
    dede调用导航/幻灯
    rmp 安装LNMP环境
    无极分类之子孙树、父辈树
    创始人 密码
    mysql报错显示法文解决办法
    渐变色背景
    laravel sendmail
    工作流系统webservice服务
  • 原文地址:https://www.cnblogs.com/1394htw/p/13328689.html
Copyright © 2011-2022 走看看