从Java中的文本文件一次读取x行文本

时间:2016-02-21 21:00:25

标签: java

我正在尝试为学校项目编写一种方法,用于显示文本文件中的联系人列表。一次只能显示四个联系人,然后重新输入“d”应显示下一个4,直到所有联系人都显示出来。有没有人对如何实现这一点有任何建议?现在我只是拥有它所以它读取所有文本行。

import java.util.Scanner;  import java.io.*; 
public class Contacts
{
  public static void main(String [] args) throws IOException
  {
     File aFile = new File("contacts.txt");
     if (!aFile.exists())
       System.out.println("Cannot find file");
     else
     {
           Scanner in = new Scanner(aFile);
           String input;
           Scanner keyboard = new Scanner(System.in);
           input = keyboard.nextLine();
           if (input.contains("d"))
           {
               String aLineFromFile;
               while(in.hasNext())
               {
                 aLineFromFile = in.nextLine();
                 System.out.println(aLineFromFile);
               }
               in.close();
           }
     }
  }
}

1 个答案:

答案 0 :(得分:0)

正如MadProgrammer所说,使用计数器来跟踪4组。

else {
    Scanner in = new Scanner(aFile);
    Scanner keyboard = new Scanner(System.in);
    String input = keyboard.nextLine();
    while(input.contains("d")) {
        int limit = 4;
        String aLineFromFile;
        while(in.hasNext() && limit > 0) {
            aLineFromFile = in.nextLine();
            System.out.println(aLineFromFile);
            limit--;
        }

        if(in.hasNext()) {
            input = keyboard.nextLine();
        }
        else {
            break;
        }
    }
}