如何在Java中创建或编辑文件夹中的txt文件?
我正在尝试为我正在制作的游戏制作保存文件,这些文件中将包含多个txt文件。我的问题是文件夹和txt文件都不会在我指定的目录中创建,下面是文件夹的代码:如何在Java中创建或编辑文件夹中的txt文件?,java,file,io,Java,File,Io,我正在尝试为我正在制作的游戏制作保存文件,这些文件中将包含多个txt文件。我的问题是文件夹和txt文件都不会在我指定的目录中创建,下面是文件夹的代码: File folde = new File("c:/Users/Mike/Desktop/Saves/bob/" + save); try{ if (!folde.exists()) { if (folde.mkdirs()) { System.out.println("Created ne
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.");
}
}
}
我从控制台得到的响应是:
- 我应该保存为什么
- bob
- 找到文件夹
- 无法创建保存文件*
谢谢 使路径一致(如果不相同)。不要使用字符串常量,而是使用单个Java
文件
对象。您正在使用以下两个不一致的前缀:
"c:/Users/Dave/Desktop/Saves/bob/"
"c:/Users/Dave/Desktop/javafiles/Saves/"
此外,您还需要改进异常处理和报告。尽可能多地记录有关原始异常和程序正在采取的纠正(或紧急)操作的信息。您将IOException隐藏在一条没有帮助的错误消息后面。添加
x.printStackTrace()编码>到catch块,您将知道异常的原因。此外,第一部分确保文件夹存在,但第二部分不写入其中。有点奇怪。