每个文件都有一行一个字母。为什么两者都返回null?
File saveFile = new File("saved.txt");
File pocFile = new File("playerOrComputer.txt");
if (!pocFile.exists()) {
pocFile.createNewFile();
}
if (!saveFile.exists()) {
saveFile.createNewFile();
}
BufferedReader brPoC = new BufferedReader(new FileReader(pocFile));
BufferedReader brSave = new BufferedReader(new FileReader(saveFile));
String savedChar = brSave.readLine();
brSave.close();
String playerOrComputerChar = brPoC.readLine();
brPoC.close();
System.out.println(savedChar);
System.out.println(playerOrComputerChar);
答案 0 :(得分:0)
我怀疑以下几行。
if (!pocFile.exists()) {
pocFile.createNewFile();
}
if (!saveFile.exists()) {
saveFile.createNewFile();
}
您已检查过是否存在您正在创建新文件。我认为它会创建一个新文件。
答案 1 :(得分:0)
尝试在absolute path
构造函数和File
路径中absolute
替换\
\\
,以便摆脱转义序列< / p>
答案 2 :(得分:0)
使用BufferedReader读取时尝试使用while循环:
while ((savedChar = brSave.readLine()) != null) {
System.out.println(savedChar);
}
如果您的文件包含文字,它肯定会显示:
不要让BufferedReader保持打开状态。一旦你完成阅读关闭它:
if (brSave != null)br.close();
答案 3 :(得分:0)
尝试提供文件File saveFile = new File("C:\\testing.txt");
你可以这样做
if (!saveFile.exists()) {
System.out.println("File doesn't exits! Creating new file..");
saveFile.createNewFile();
}
答案 4 :(得分:0)
尝试使用绝对路径或者如果您将这些文件视为应用程序的一部分,我的意思是如果放入源文件夹,那么您可以使用:
BufferedReader brPoC = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("saved.txt"));
BufferedReader brSave = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("playerOrComputer.txt"));
答案 5 :(得分:0)
为什么两者都返回null?
关于你,两个文件都包含一些数据.IDE无法从位置找到文件。
尝试getAbsolutePath()
将返回文件的确切路径。
saveFile.getAbsolutePath();
使用readLine()
时,最好使用null检查