• 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);
                    }
                }

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

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

  • 相关阅读:
    APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发
    APP测试面试题(一)
    软件测试面试题-网站
    APP 抓包-fiddler
    使用模板快速编写测试用例
    随机数据构造-Faker
    [转载]大规模爬虫流程总结,经验总结
    python高级知识点总结
    python sorted,sort,reversed,reverse函数
    python函数式编程
  • 原文地址:https://www.cnblogs.com/1394htw/p/13328689.html
Copyright © 2020-2023  润新知