簡體   English   中英

使用Java中的OS符號創建一個新文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM