有沒有辦法在我的Java應用程序的主目錄中創建一個文件夾(具有特定名稱)。我在我的遊戲中有一個用戶系統,並且每當創建一個新用戶時,我都希望它創建一個文件夾來存儲所有進度(並且文件夾名稱應該是他們放入的名稱)。如何在我的Java應用程序的根目錄中創建一個文件夾?
例如:
從這:
爲了這個(只是進入遊戲中的用戶名):
有沒有辦法在我的Java應用程序的主目錄中創建一個文件夾(具有特定名稱)。我在我的遊戲中有一個用戶系統,並且每當創建一個新用戶時,我都希望它創建一個文件夾來存儲所有進度(並且文件夾名稱應該是他們放入的名稱)。如何在我的Java應用程序的根目錄中創建一個文件夾?
例如:
從這:
爲了這個(只是進入遊戲中的用戶名):
File f = new File("TestDir");
try{
if(f.mkdir())
System.out.println("Directory Created");
else
System.out.println("Directory is not created");
}catch(Exception e){
e.printStacktrace();
}
如果主目錄您的應用程序的工作直接,您可以創建一個目錄與
new File("new-dir").mkdir();
定義 「您的Java應用程序的主目錄」?沒有這樣的野獸。
出於安全考慮,您在做這類事情時要非常小心。最好在屬性文件中定義一個目錄,並將其用作應用程序的基礎目錄。然後,如前所述,這只是使用.mkdir{,s}()
來實現你想要的。
而@ C.Reed也正確地說你應該檢查mkdir()
的返回值:Java的File API有很大的缺陷,因爲當目錄/文件創建/移動失敗時它不會引發異常。幸運的是,Java 1.7將通過其新的API來解決這個問題。
(我遇到的一個例子是看到的代碼不能在.move()
附近找到一個文件:問題在於它在dev的機器上工作,但在生產機器上該目錄被移動到另一個文件系統上 - > havoc )
提示:使用Apache的commons-io
建立子目錄的已知和可重複的路徑的內的目錄。
user.home
- 這應該是遊戲可以讀取和寫入的目錄。
f.mkdir()中的'd'應該是小寫。 – 2012-01-01 13:12:40