根據我的要求,我需要上傳文件到指定的目錄,稍後經過一些修改後,我需要將同一個文件上傳到同一個目錄,這裏以前的文件不應該被覆蓋,這意味着文件必須保存在相同的目錄中同名的目錄(這裏我有一個假設,例如,如果我的文件是abc.txt,修改後如果我上傳修改後的文件,它可以保存爲abc(1).txt)。我該如何解決我的問題?有誰能幫我從這個問題出來。如何在同一個目錄下用java創建多個同名的文件?
在此先感謝。
根據我的要求,我需要上傳文件到指定的目錄,稍後經過一些修改後,我需要將同一個文件上傳到同一個目錄,這裏以前的文件不應該被覆蓋,這意味着文件必須保存在相同的目錄中同名的目錄(這裏我有一個假設,例如,如果我的文件是abc.txt,修改後如果我上傳修改後的文件,它可以保存爲abc(1).txt)。我該如何解決我的問題?有誰能幫我從這個問題出來。如何在同一個目錄下用java創建多個同名的文件?
在此先感謝。
在while循環中使用File.createNewFile()
。當且僅當文件不存在時它纔會創建文件。這是線程安全的,因爲API保證了原子性。
在循環中檢查文件File.exists()
的存在並不能爲您提供這樣的保證。
如果你可以堅持上傳的數量,你可以爲每個特定的文件增加一個數字並將其添加到你的文件名(例如foo_1.txt或者你想要的) 如果你不能,你可能想要通過所有的文件並檢查它們是否適合您的命名架構。那麼你可以提取最高的數字,將它加1並將它附加到你的新文件中。
可能的重複:[使用Java創建具有相似名稱的文件而不覆蓋現有文件](http://stackoverflow.com/questions/10295100/create-files-with-similar-names-using-java-without-overwriting - 現有文件) –