java - 文件读取器未读取正确的值

标签 java file-io

我对 Java 还很陌生,我已经编写了两个小函数来读取数据并将数据写入文件。写入的数据是游戏中 map 上角色的 x 和 y 坐标。写入文件的数据看起来没问题:

234
-123

我用以下代码写入数据:

public void save(int x, int y)
{
    try
    {
        FileWriter fstream = new FileWriter("skygrim.txt");  //Create save-file
        BufferedWriter out = new BufferedWriter(fstream);    //New writer, connected to save-file
        out.write(x + "\n" +y);        //Write position to file 
        out.close();                   //Close file
    }catch (Exception e){System.out.println("Error: " + e.getMessage());}
}

当我稍后想要读取数据,以便能够“加载”已保存的游戏时,我从文件中获取以下值:

50
51

我使用以下代码从文件中读取:

public int[] read(String file)
{
    int[] coordinates = new int[2];
    try
    {
        FileReader fstream = new FileReader(file);
        BufferedReader in = new BufferedReader(fstream);
        coordinates[0] = in.read();
        coordinates[1] = in.read();
        in.close();
    }catch(Exception e){System.out.println("Error" + e.getMessage());}
    System.out.println("x: " + coordinates[0]);
    System.out.println("y: " + coordinates[1]);
    return coordinates;
}

为什么程序读取文件时出现如此严重的错误,我该怎么办?

最佳答案

您的读取方法正在读取文件的前两个字符:“2”和“3”。您可能想使用 BufferedReader.readLine()

另请参阅 Integer.parseInt(String)

关于java - 文件读取器未读取正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10804055/

相关文章:

java - 如何在对象列表中搜索对象的属性包含字符串

java - android构建错误: can't find symbol class IntDef

java - 当我使用列表时出现奇怪的空指针异常错误

java - 2 个随机数组的交集 - Java

c - `write(2)` 到本地文件系统的原子性

java - 从文本文件中随机选择一行

java - Real Time Java 如何避免优先级倒置

python - 将字符串写入文件的 pythonic 方式是什么?

c - 使用 getc 从文件读取并使用 putc 打印

java - 如何通过在 Java 中给出路径的子集来获取目录的完整路径?