我有一个基本类FileOutput,它将写入文本文件HighScores。我还有一个类fileReader,它将打印出文本文件中的内容。有没有办法读取文本文件HighScores的一行并将其保存为String变量?我最终希望能够跟踪游戏中的前5个HighScores,因此我需要一种方法来将最新得分与前5个得分进行比较。 到目前为止,这是我的代码:
import java.util.Scanner;
import java.io.File;
public class FileReader
{
public static void main(String args[]) throws Exception
{
// Read from an already existing text file
File inputFile = new File("./src/HighScores");
Scanner sc = new Scanner(inputFile);
while (sc.hasNext()){
String s = sc.next();
System.out.println(s);
}
}
FileOutput类:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.util.ArrayList;
public class FileOutput
{
public static void main(String args[]) throws Exception
{
FileWriter outFile = new FileWriter("./src/HighScores");
PrintWriter out = new PrintWriter(outFile);
// Write text to file
out.print("Top Five High Scores");
out.println(50);
out.println(45);
out.println(20);
out.println(10);
out.println(5);
out.close();
}
}
答案 0 :(得分:0)
是
我不确定这是否是最聪明的方法,但你可以创建一个ArrayList并创建一个字符串集合。而不是out.print'ing你可以试试这个:
ArrayList<String> al = new ArrayList<>();
while (sc.hasNext()){
String s = sc.next();
al.add(s);
}
这将创建一个字符串列表,您可以通过以下方式获得前5个值:
String firstPlace = al.get(0);
String secondPlace = al.get(1);
String thirdPlace = al.get(2);
String fourthPlace = al.get(3);
String fifthPlace = al.get(4);