使用for循环打印出最近的,而不是第一次输入?

时间:2013-12-11 17:18:11

标签: java for-loop switch-statement

基本上我的程序将数据列入输出文件,然后我必须能够将该输出文件作为输入读取,以列出最近的五个数据。 这是我的代码:

case 2: options = "";
    System.out.println("You have chosen to 'List recent data'" 
                        + "The five most recent data is: " + "\n");

    String data1;
    Scanner inFile2 = new Scanner (new FileReader ("Bankbalance.txt"));

    for (int b=0; b<5; b++) {
        data1 = inFile2.nextLine();
    System.out.println(data1);
    }

        break;

基本上输出是给出前五个数据,(我确实知道这是因为我要求它计算前五个)但我只是想知道它是否有可能显示最新的数据? (来自文本文件底部而不是顶部的数据)

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

请参阅this answer进行一些调整,尝试:

Scanner in = new Scanner (new InputStreamReader (new ReverseLineInputStream(file)));

for (int b=0; b<5; b++) {
    String line = in.nextLine();
    if (line == null) {
        break;
    }
    System.out.println(line);
}