首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重置文件数据

重置文件数据
EN

Stack Overflow用户
提问于 2014-09-07 02:41:42
回答 1查看 54关注 0票数 0

我需要将播放器数据写到一个文件中,并读取它,当它保存时,编辑数据。我不太擅长文件I/O,但这是我所拥有的。

代码语言:javascript
复制
public class DirectoryMaker {


    static BufferedWriter bw;
    static int lvl = 1;
    static int hp = 100;

    public static void main(String[] args) throws IOException {


        FileWriter fw;



        File dir = new File("c:\\MyFile\\b\\stuff");
        if (!dir.exists()) {
            if (dir.mkdirs()) {
                System.out.println("Directory is created!");
            } else {
                System.out.println("Failed to create directory!");
            }

        }




        String fileName="hi";
        File tagFile=new File(dir,fileName+".txt");
        if(!tagFile.exists()){
        try {



            fw = new FileWriter(tagFile.getAbsoluteFile());
            bw = new BufferedWriter(fw);
            bw.write("LEVEL: " + lvl + "\n");


            tagFile.createNewFile();
            bw.close();



        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        }


        Scanner s = new Scanner(tagFile);
        while(s.hasNextLine()) {
            System.out.println(s.nextLine());

        }
        System.exit(1);
    }
}

使用此代码,当文件中的lvl int发生更改时,我如何更新它。在更新了这个int之后,我需要添加其他内容并读取它们。

EN

回答 1

Stack Overflow用户

发布于 2014-09-07 03:30:14

如果您将数据以文本形式存储在文件中,我强烈建议您使用YAML,它可以很好地格式化您的数据,并使其易于检索。另一种选择是JSON文件,但我对JSON不是很熟悉。下面是一个常用的YAML库:https://code.google.com/p/snakeyaml/,使用起来非常简单:

代码语言:javascript
复制
File f = ...;
String s = "Me";
Yaml y = new Yaml();
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
y.dump(Map.Entry<"Name",s>, writer);
writer.Close();
BufferedReader in = new BufferedReader(new FileReader(f));
Map map = (Map) yaml.load(f); //Loads whole document
String name = map.get("Name"); //Find the String with the key "Name"
in.Close();

可能需要做一些改进,但这主要是为了让你对功能有一个概念。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25703570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档