Java 读写文件
我不得不为我的CSIS类做一个gui项目,我在读写方面遇到了问题。我正在制作一个游戏,在游戏中,你与一些东西战斗,在你击败其中五个之后,游戏会显示一条信息,上面写着“你赢了”。每次你赢了一场战斗,我都会让它把赢的次数写进一个文件,这样如果你要关闭游戏,当它再次打开时,你就可以继续。这是我写的代码——这是我的读取方法Java 读写文件,java,Java,我不得不为我的CSIS类做一个gui项目,我在读写方面遇到了问题。我正在制作一个游戏,在游戏中,你与一些东西战斗,在你击败其中五个之后,游戏会显示一条信息,上面写着“你赢了”。每次你赢了一场战斗,我都会让它把赢的次数写进一个文件,这样如果你要关闭游戏,当它再次打开时,你就可以继续。这是我写的代码——这是我的读取方法 private static int read() { int returnValue = 0; try(Scanner reader = new Scan
private static int read()
{
int returnValue = 0;
try(Scanner reader = new Scanner("wins.txt"))
{
while(reader.hasNextLine())
{
String read = reader.nextLine();
returnValue = Integer.parseInt(read);
}
}
catch(NullPointerException e)
{
System.out.println("No such File! Please Try Again! " + e.getMessage());
}
return returnValue;
这是我的写作方法
private static void write(int wins)
{
try(Formatter writer = new Formatter("wins.txt");)
{
writer.format("%d", wins);
}
catch (FileNotFoundException e)
{
System.out.println("File not Found!!");
}
}
wins.txt文件中唯一的内容是写入方法写入的数字。因此,我赢了一次,则文件将有“1”,如果我赢了两次,则文件将有“2”
每当我运行程序时,它都会抛出NumberFormatException。我不确定它为什么要这样做,因为我正在将读取器读入的字符串解析为int。问题是这段代码
Scanner reader = new Scanner("wins.txt")
。。。构造一个扫描仪
,而不是文件“wins.txt”的内容
要使用扫描仪读取文件
,最简单的方法可能是
您需要对代码进行一些其他更改,以使其从此点起作用,但这应该涵盖主要问题。如果这不起作用,是否有其他方法可以解决此问题?请添加您的
wins.txt
内容的可能副本请包括一个。你也应该包括输入文件的相关部分。你在读行,但不是在写行。
Scanner reader = new Scanner(new File("wins.txt"))