簡體   English   中英

如何在Java文件夾中創建或編輯txt文件?

[英]How to Create or edit a txt file in a folder in Java?

我正在嘗試為正在制作的游戲制作保存文件,這些文件中將包含多個txt文件。 我的問題是文件夾和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但這不起作用。

謝謝!

如果不相同,請使路徑一致。 代替使用字符串常量,而使用單個Java File對象。 您正在使用以下兩個不一致的前綴:

"c:/Users/Dave/Desktop/Saves/bob/"
"c:/Users/Dave/Desktop/javafiles/Saves/"

另外,您需要改進異常處理和報告。 盡可能多地記錄有關程序所采取的原始異常和糾正(或緊急)措施的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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