我有一个文件,其中包含游戏的得分数据(玩家姓名及其最终得分。
我想打开文件并显示包含的数据,使其看起来像
PLAYER SCORE
------ -----
John 1000
Steve 2000
该文件肯定会保存我想要的数据但我无法显示数据。
我尝试了各种各样的事情:
public static void loadScores() {
boolean fileIsValid;
String filename = "";
File file;
do {
fileIsValid = true;
clrscr();
System.out.println("\t\t\t\t\t\t\t\t\tLEADERBOARDS");
printWave();
if (!fileIsValid) {
System.out.print("\n\nSorry, commander, your file name: " + filename + " does not exist.");
}
System.out.println("");
filename = "scores.gz";
file = new File(filename);
if (!file.exists()) {
fileIsValid = false;
}
} while (!fileIsValid);
System.out.println(file);
pressKey();
}
答案 0 :(得分:1)
我就是这样做的。
public static void loadScores() {
File file = null;
try{
file = new File("scores.gz");
if (!file.exists()) {
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
fileReader.close();
} else {
System.out.print("\n\nSorry, commander, your file name: " + filename + " does not exist.");
}
}
catch(IOException e) {
e.printStackTrace();
}
}
注意:您的原始代码将处于无限循环中,直到创建文件为止!此外,循环中没有睡眠,因此您将在没有等待期间连续查询文件系统。
这不需要第三方库,但Apache commons有一些很好的util类,也用于读取文件:http://commons.apache.org/proper/commons-io/description.html