在Java中设置lastmodifieddate时出错

时间:2012-07-13 19:31:16

标签: java file ftp timestamp last-modified

我尝试将本地文件夹文件的lastmodifeddate设置为FTP文件的lastmodifieddate。 但是,在返回值中它返回false并且日期也未正确设置。

这是函数,

 public static void getModifiedDateAndTimeFromFTPFile(String FTPHost, String FTPUserName, String FTPPassword, String FTPRemoteDirectory, String localFilePath, String fileName) {
        try{
            //get Local File 
            File fileLocal = new File(localFilePath + fileName);

            //Connect to FTP and get the lastmodified time of File.
            FTPClient client = new FTPClient();
            client.connect(FTPHost);
            client.login(FTPUserName, FTPPassword);
            client.changeWorkingDirectory(FTPRemoteDirectory);          
            FTPFile ftpFile = client.listFiles(fileName)[0];

            //Get last_modified date of FTP file.
            Date ftpFileDate = ftpFile.getTimestamp().getTime();

            //Now set date to the Local File.
            boolean boolSetTime = fileLocal.setLastModified(ftpFileDate.getTime());
            System.out.println("    Was last modified time set successfully ? : " + boolSetTime);           
        } catch (Exception ex) {
            System.out.println("Error : " + ex.toString());
        }
    }

任何人都可以指出我的错误来帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

很可能localFilePath + fileName不会形成预期的文件名。在构造File对象时,这不会给您带来异常,但setLastModified(...)将始终在不存在的文件上返回false。

可能只是缺少路径分隔符?