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

时间:2015-02-19 21:17:24

标签: java text-files

我有一个基本类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(); 
    }
}

1 个答案:

答案 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);