0

ローカル フォルダ ファイルの 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());
        }
    }

誰かが私の間違いを指摘して助けてくれますか?

ありがとう

4

1 に答える 1

0

ほとんどlocalFilePath + fileNameの場合、意図したファイル名を形成しません。これにより、File オブジェクトの作成時に例外が発生することはありませんが、存在しないファイルに対してsetLastModified(...)は常に false が返されます。

パスセパレーターが欠落しているだけでしょうか?

于 2012-07-13T19:43:14.990 に答える