从文本文件读取并创建字符串变量?

Reading from a textfile and creating a string variable?

我有一个基本的 class FileOutput,它将写入文本文件 HighScores。我还有一个 class fileReader,它将打印出文本文件中写入的内容。有没有办法读取文本文件 HighScores 的一行并将其保存为字符串变量?我最终希望能够跟踪游戏中的前 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);
    }   

}

文件输出Class:

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(); 
    }
}

是的。

我不确定这是否是最聪明的方法,但您可以创建一个 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);