2013-05-08 84 views
1

我目前正在爲Minecraft創建一個mod。這是另一臺計算機mod,我需要它將用戶在計算機上創建的所有文件和文件夾存儲到計算機自己的個人文件夾中。對於計算機的每個實例,將創建一個具有該計算機編號的文件夾,並且該文件夾中將包含特定計算機內部的所有文件和文件夾,例如:說明文件夾位於目錄C:/mc/mods,那麼第一臺計算機將具有文件夾C:/ mc/mods/1,第二個C:/ mc/mods/2等等就像computercraft一樣。我的問題是,儘管許多嘗試和很多研究,我已經能夠創建文件夾和文件。這是我的代碼看起來像塊被放置。Minecraft Mod創建文件和文件夾

File file = new File("C:/mc/mods"); 
if (file.isDirectory() == false) { 
    file.mkdir(); 
} 
String s = "C:/mc/mods/1"; 
file = new File(s); 
int iii = 2; 
while (file.isDirectory()) { 
    String ss = s.substring(0,s.length() - 1); 
    s = ss + iii; 
    file = new File(s); 
    iii += 1; 
} 
file.mkdir(); 
file = new File("C:/mc/mods/locs.txt"); 
try { 
file.createNewFile(); 
} catch (Exception e) { 
    System.out.println(e); 
} 
try { 
PrintWriter outp = new PrintWriter(new BufferedWriter(new FileWriter("C:/mc/mods/locs.txt",true))); 
outp.println(x + "," + y + "," + z + "," + Integer.toString(iii - 1)); 
outp.close(); 
} catch (Exception e) { 
    System.out.println(e); 
} 

它基本上只是確保我已經創建了主文件夾,然後它創建特定計算機的子文件夾,並在主文件夾中它會記錄該計算機的精確位置和數量。如果有人能幫助我解決如何正確地做到這一點,這將是非常感謝。另外,我對Java很新,所以對於我正在慢慢修復的所有糟糕的性能編碼感到抱歉。

+0

歡迎來到Stack Overflow!你能發佈一些關於你的問題的更多信息嗎?您是否收到控制檯中顯示的任何堆棧跟蹤錯誤? – Kezz101 2013-05-10 17:35:44

+0

感謝您的歡迎。當我運行這個(使用Feed The Beast)時,它會很好地加載模組,甚至可以讓我無誤地放置模塊。問題是,正如我所說的,當我放置塊應該創建文件夾/文件,而不是。除此之外,這個mod工作正常。 – user2362964 2013-05-17 01:42:27

+0

@ user2362964 - 請再次閱讀「歡迎」評論。如果您需要幫助(與猜測不同),您需要向我們展示您收到的錯誤的堆棧跟蹤。這是Java 101的東西...使用堆棧跟蹤來診斷錯誤。 ''System.out.println(e)''不是打印堆棧跟蹤的方式。 – 2014-03-30 00:09:30

回答

0

看起來您正試圖在沒有管理員權限的情況下在根目錄(「C:/」)進行寫入。嘗試將您的文件目錄關閉Minecraft.getWorkingDirectory(我不記得確切的方法)。

因爲你沒有提供任何類型的日誌,所以不可能知道,但我希望這可以工作。