gpt4 book ai didi

使用 FileWriter 的 java.lang.NullPointEreException

转载 作者:行者123 更新时间:2023-12-02 11:11:32 26 4
gpt4 key购买 nike

我正在使用 BufferedWriter 在类的构造函数中写入新创建的文本文件。该类创建文本文件,然后向其中添加初步文本,以便读取操作不会返回错误。然而,当我尝试添加此初步文本时,特别是在下面的方法中使用writeHigh,我收到一个java.lang.NullPointerException。我不认为这与我传入的字符串有任何关系,但我也尝试更改 writeHigh 的实例化,但它没有执行任何操作。我希望有人知道这个错误的原因是什么。堆栈跟踪没有帮助。

    try
{
//New buffered writters that can write to the specified files.
writeHigh = new BufferedWriter(new FileWriter(HIGH_SCORE_PATH, false));

//highScore = Integer.parseInt(readScore.readLine());
}
catch(FileNotFoundException e) //If reading from these files fails because they don't yet exist...
{
File highFile = new File(HIGH_SCORE_PATH); //Create a new high score file, this is the first time the game has been played.

try
{
highFile.createNewFile();
writeHigh.write("0000"); //This line is throwing the error
}
catch(IOException i)
{
i.printStackTrace();
}
}
catch(IOException e)
{
e.printStackTrace();
}

最佳答案

这行代码会给你一个 NPE

writeHigh.write("0000");

只有当您捕获了 FileNotFoundException 时,您才会到达这一行。这意味着这一行抛出了异常

writeHigh = new BufferedWriter(new FileWriter(HIGH_SCORE_PATH, false));

如果抛出异常,则说明执行失败,则writeHigh尚未实例化。所以 writeHigh 为空。所以 writeHigh.write("0000"); 抛出一个 NPE。

<小时/>

我想你想做

highFile.write("0000");

关于使用 FileWriter 的 java.lang.NullPointEreException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50586627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com