我想爲文件使用唯一的ID。我如何使用系統時間在Java中生成唯一的ID?在Java中使用系統時間的唯一文件名?
回答
您可以使用System.currentTimeInMillis
或
java.util中。 UUID.randomUUID()
我不想使用UUID。 System.currentTimeInMillis保證是唯一的? – leon 2011-05-20 00:04:33
System.currentTimeInMillis - >「1970年1月1日UTC的當前時間和午夜之間的差值,以毫秒爲單位。」 您可以將loggedInUserName附加到它以保證跨併發會話的唯一性。 – 2011-05-20 17:19:38
您正在尋找UUID
class。
是否必須基於系統時間?你不能只用一個UUID嗎?
java.util.UUID.randomUUID();
UUID class是你需要的。
樣品實施:
public class RandomStringUUID {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
String randomUUIDString = uuid.toString();
System.out.println("Random UUID String = " + randomUUIDString);
System.out.println("UUID version = " + uuid.version());
System.out.println("UUID variant = " + uuid.variant());
}
}
輸出:
Random UUID String = 7dc53df5-703e-49b3-8670-b1c468f47f1f
UUID version = 4
UUID variant = 2
我建議使用File.createTempFile(String prefix, String suffix)
,它創建一個空文件,不會與文件系統上的其他任何內容相沖突。
您可以使用File.deleteOnExit
以確保在程序退出時將其刪除。
是的。但是這種方法「創建」臨時文件,在我的情況下,並不需要。 – marcolopes 2013-03-31 13:14:11
- 1. 系統時間和文件系統時間不一樣
- 2. Node.js文件系統 - 保存唯一的文件名
- 3. NTFS文件系統時間
- 4. 在Java中修改系統時間
- 5. 在基於事件的系統中同時處理唯一性
- 6. 使用java識別系統中的臨時文件
- 7. 使用Java的Windows系統之間的遠程文件傳輸
- 8. 從java中的系統輸入時間
- 9. 調用hadoop文件系統時在java代碼中的異常
- 10. 使用UUID的唯一文件名
- 11. 將XML文件(使用XStream)寫入Java中的文件系統
- 12. 文件和監視文件系統更改的唯一標識
- 13. 使用Java在CST時區讀取系統時間
- 14. 如何在系統間緩存中創建唯一的GUID?
- 15. 的Java:從文件系統
- 16. x86彙編程序 - 系統時間的文件名
- 17. 重命名與當前系統時間的文件
- 18. 系統日誌文件中的唯一IP連接
- 19. 在Visual Studio中更改命名空間/文件系統文件夾名稱
- 20. 在Java中獲取系統最後一次啓動時間
- 21. 用於用戶空間文件系統的Java的FileSystemProvider?
- 22. 在Java(linux)中獲取平均系統CPU使用率一段時間內
- 23. 什麼是用戶空間中的虛擬文件系統或文件系統?
- 24. 如何使用Python腳本在文本文件或日誌文件中寫入時間(本地系統時間)?
- 25. 在文件系統中使用google API?
- 26. 在Qt中使用文件系統C++
- 27. 如何在喬達時間使用中文日曆系統?
- 28. 在運行時將文件系統中的類加載到文件系統中
- 29. Ruby中的唯一系統ID ...?
- 30. 當我針對當前系統時鐘或簽名文件中的時間戳
我不想使用UUID。 System.currentTimeInMillis保證是唯一的? – leon 2011-05-20 00:04:20