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

在Java中从文本文件一次读取x行文本,java,Java,我正在尝试为一个学校项目编写一个方法,用于显示文本文件中的联系人列表。一次仅显示四个触点,然后重新输入“d”将显示下一个4,直到所有触点都显示出来。有人对我如何做到这一点有什么建议吗?现在我有了它,它可以读取所有的文本行 import java.util.Scanner; import java.io.*; public class Contacts { public static void main(String [] args) throws IOException {

我正在尝试为一个学校项目编写一个方法,用于显示文本文件中的联系人列表。一次仅显示四个触点,然后重新输入“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();
           }
     }
  }
}

正如程序员所说,使用计数器来跟踪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;
        }
    }
}

正如程序员所说,使用计数器来跟踪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;
        }
    }
}

while(in.hasNext())
循环中的计数器中插入Ad,当到达
4
时,使用
键盘.nextLine
从用户处获取输入。保持循环,直到到达文件末尾,或者
输入
等于
d
Ad,在
中的计数器中(in.hasNext())
循环,当到达
4
时,使用
键盘.nextLine
从用户获取输入。继续循环,直到到达文件末尾或
input
等于
d