[英]Create a new folder by using OS notation in Java
給定指向文件夾的Path
對象,例如c:\\pluto
,如何在不使用文件夾名稱的情況下用Java生成一個新的空文件夾?
例如,當我調用一個方法,例如X()
,它應該創建一個新文件夾到路徑c:\\pluto\\new folder
。 如果我再按一次,它必須創建c:\\pluto\\new folder (1)
,再按一次,我必須獲得c:\\pluto\\new folder (2)
, c:\\pluto\\new folder (2)
。
為什么我需要與OS交互? 因為標准新文件夾的名稱隨操作系統和操作系統語言而變化。
老實說,我沒有Java應用程序與操作系統交互的經驗。
使用String.valueOf(System.nanoTime)
生成文件夾名稱。 它將為每個呼叫生成唯一的文件夾名稱。 然后用基本路徑和名稱將這個文件夾名稱連接起來,您將獲得一個唯一的文件夾名稱。
使用File.separator
分隔基本路徑和生成的文件夾名稱。
更新:
如果將通過用戶界面顯示/選擇文件夾名稱,則上述方法可能不合適。 然后使用掩碼和數字。 對於mask,將其設為new folder (%n%)
。 其中%n%
將生成數字或日期字符串。
要檢查代碼中是否存在文件夾,請使用以下方法:
private static boolean doesFolderExist(String folderPath) {
final File folderHandler = new File(folderPath);
return folderHandler.isDirectory();
}
但是從我的角度來看,我會要求用戶輸入新文件夾的名稱,而不是自動生成它。 並且僅當用戶不想輸入新文件夾的名稱時,才在這種情況下我將自動生成它。 在任何情況下都將運行文件夾存在性檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.