我想爲我製作的遊戲製作保存文件,這些文件中會包含多個txt文件。我的問題是,無論是文件夾,並不會txt文件在我指定的目錄中創建自己,這裏是該文件夾的代碼:如何在Java中創建或編輯文件夾中的txt文件?
File folde = new File("c:/Users/Mike/Desktop/Saves/bob/" + save);
try{
if (!folde.exists()) {
if (folde.mkdirs()) {
System.out.println("Created new save file");
} else {
System.out.println("Did not create new save file");
}
}
}finally{
System.out.println("Folder found.");
}
下面是該文件的代碼:
try{
PrintWriter writer = new PrintWriter("c:/Users/Mike/Desktop/javafiles/Saves/" + save + "/Stats.txt", "UTF-8");
writer.println(Stats.Health);
writer.println(Stats.Strength);
writer.println(Stats.Constitution);
writer.println(Stats.Dexterity);
writer.println(Stats.Inteligence);
writer.println(Stats.Wisdom);
writer.println(Stats.Charisma);
writer.close();
} catch (IOException x) {
System.err.println("Could not create save file.");
}
這裏是整個類:
package files.maintain;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import vars.all.*;
public class SaveFile {
MainStart Start = new MainStart();
Stats Stats = new Stats();
public void save(){
Scanner in = new Scanner(System.in);
System.out.println("What should I save as?");
String save = in.nextLine();
File folde = new File("c:/Users/Dave/Desktop/Saves/bob/" + save);
try{
if (!folde.exists()) {
if (folde.mkdirs()) {
System.out.println("Created new save file");
} else {
System.out.println("Did not create new save file");
}
}
}finally{
System.out.println("Folder found.");
}
try{
PrintWriter writer = new PrintWriter("c:/Users/Dave/Desktop/javafiles/Saves/" + save + "/Stats.txt", "UTF-8");
writer.println(Stats.Health);
writer.println(Stats.Strength);
writer.println(Stats.Constitution);
writer.println(Stats.Dexterity);
writer.println(Stats.Inteligence);
writer.println(Stats.Wisdom);
writer.println(Stats.Charisma);
writer.close();
} catch (IOException x) {
System.err.println("Could not create save file.");
}
}
}
我從控制檯得到我的迴應是:
- 我該保存些什麼?
- 鮑勃
- 找到文件夾。
- 無法創建保存文件*
我的輸入是大膽, 我檢查這個網站:http://www.mkyong.com/java/how-to-create-directory-in-java/ 和Java教程:http://docs.oracle.com/javase/tutorial/essential/io/file.html 但沒有奏效。
謝謝!
您隱藏IOException後面無用的錯誤消息。將'x.printStackTrace();'添加到catch塊中,您將知道異常的原因。另外,第一部分確保文件夾存在,但第二部分不寫入文件夾。有點奇怪。 –