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

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

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

  • 相关阅读:
    开发实例
    一张图解析FastAdmin中的表格列表的功能
    fastAdmin进阶
    detailFormatter bootstrapTable
    responseHandler
    自定义PDO封装类
    bootstrapTable
    Thread Safety
    FastAdmin 基本知识流程一栏
    thinkphp5 Request请求类
  • 原文地址:https://www.cnblogs.com/1394htw/p/13328689.html
Copyright © 2011-2022 走看看