目標是創建隨機路徑來存儲文件,以便我可以存儲大具有隨機路徑的文件數量。文件存儲位置
文件存儲位置
回答
我真的不知道你爲什麼想要這樣做。大多數(所有?)系統的容量太高,考慮它是不現實的。如果你必須考慮這個問題,那可能還有另一個問題。例如,Mac OS X可以有2.1 billion files per folder。當然,查看文件列表在某些時候可能會有些問題。
如果你想要隨機值,你可以選擇crypto/rand
和math/rand
包。 math/rand
包可能更適合這種情況,因爲crypto/rand
依賴於系統生成的熵。 math/rand
基於種子算法。缺點是你必須檢查碰撞。碰撞的可能性實際上取決於您使用多少個字符。碰撞發生的可能性越小,角色越少。
您可以做的一件事就是使用time
軟件包在某個頻率(天,月)下爲文件夾名稱使用時間戳。我會盡量避免隨機的文件名,因爲它會使管理變成一場噩夢。如果有衝突,您可以隨時爲文件名添加後綴。
我假設,當然,你會存儲潛在的大型二進制文件,如圖像。如果你存儲的東西很小(文本文件),你可能要考慮使用數據庫。
如果您希望路徑爲「隨機」並且不與其他路徑衝突,請使用SHA-1來散列文件名。碰撞的機率是extraordinarily miniscule。如果你需要的路徑很短,只需要一個散列的子串,雖然這顯然增加了你的路徑衝突的機會顯着(這可能會或可能不是你的問題)。
首先,它仍然具有與大多數方法一樣多的「隨機性」。其次,這聽起來像是一個完全人爲的用例。爲什麼你只有兩個目錄?爲什麼他們必須是兩個字符?最重要的是,爲什麼要經歷隨意目錄的痛苦呢? –
對於幾乎任何應用程序,1億個文件是一個荒謬的數字。這聽起來像你真正想要的是一個數據庫。如果你堅持這個架構,並且你的要求是「隨機性是以文件名計算的」,我認爲你不能做得比散列更好。 –
任何幫助你可以在轉換這個去。 http://pastebin.com/1562U7w7 – JVK
- 1. 存儲解密文件的位置?
- 2. 將文件上傳到存儲位置
- 3. 存儲request.json文件的位置
- 4. 存儲文件的最佳位置
- 5. Android/SQLite - 文件的存儲位置
- 6. 添加Hadoop存儲文件的位置
- 7. 將RTSP存儲到文件位置
- 8. 存儲大量JSON文件的位置
- 9. 存儲XML文件的位置
- 10. Git - 存儲文件的位置
- 11. magento插件存儲位置
- 12. YouTrack附件存儲位置
- 13. PYTHONPATH存儲位置
- 14. 將drl文件存儲在WAR文件中的位置?
- 15. 核心轉儲文件存儲在iPhone上的位置?
- 16. HTML 5存儲應用程序緩存清單文件位置
- 17. Android獲取存儲位置並保存下載的文件
- 18. 用Java存儲本地機器的保存文件的位置
- 19. 存儲自定義配置文件的位置
- 20. 在asp.net中存儲配置文件的位置
- 21. 更改應用程序設置文件的存儲位置
- 22. MVC .NET存儲配置文件數據的位置?
- 23. 存儲Google位置SQLite中的位置
- 24. 存儲配置文件
- 25. 存儲推文位置信息
- 26. 在文本文件中存儲位圖
- 27. 在內部存儲器中存儲自定義文件的最佳位置
- 28. 在文件中查找某個字符的位置並存儲其位置bash
- 29. unordered_map的存儲位置
- 30. 圖像存儲位置
@JVK和...?代碼對我來說毫無意義,除了它裏面有「哈希」這個詞。還有其他的軟件包,比如'hash','math/rand'和'time',你可以使用。 – Luke
@JVK你最好的選擇是#瘋狂freenode IRC頻道。 – Luke