我想爲文件使用唯一的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. NTFS文件系統時間
- 2. 在基於事件的系統中同時處理唯一性
- 3. 使用java識別系統中的臨時文件
- 4. 將XML文件(使用XStream)寫入Java中的文件系統
- 5. 文件和監視文件系統更改的唯一標識
- 6. 使用Java在CST時區讀取系統時間
- 7. 的Java:從文件系統
- 8. 重命名與當前系統時間的文件
- 9. x86彙編程序 - 系統時間的文件名
- 10. 在Visual Studio中更改命名空間/文件系統文件夾名稱
- 11. 在Java中獲取系統最後一次啓動時間
- 12. 在Java(linux)中獲取平均系統CPU使用率一段時間內
- 13. 什麼是用戶空間中的虛擬文件系統或文件系統?
- 14. Ruby中的唯一系統ID ...?
- 15. 在系統函數中使用空格處理文件名
- 16. 如何在Java中使用遠程Unix系統「tail -f」文件?
- 17. 如何在Java或Python中使用文件系統緩存?
- 18. 使用Java在Windows中獲取唯一的文件ID?
- 19. 使用系統日期作爲比較文件的文件名
- 20. 如何在java編程中從系統訪問文件到另一個系統?
- 21. 唯一的文件名attibute
- 22. 在不使用系統時間的情況下在java中獲取UTC
- 23. 在java中使用用戶名和密碼登錄系統
- 24. 在批處理腳本中生成帶時間戳的唯一文件名
- 25. 如何在Ubuntu系統中導入java中的joda時間
- 26. jedit在打開文件時使用鍵導航文件系統
- 27. 操作系統如何創建唯一的文件句柄?
- 28. 在文件系統中創建文件的Java I/O延遲
- 29. 使用boost文件系統獲取文件系統類型
- 30. 使用系統文件分隔符分割文件名
我不想使用UUID。 System.currentTimeInMillis保證是唯一的? – leon 2011-05-20 00:04:20