我有一个要导入的文件,我想要做的是询问用户的输入,并以此为基础找到合适的检查行。我有这样设置:

     public class ReadLines {
    public static void main(String[] args) throws FileNotFoundException
    {
         File fileNames = new File("file.txt");
     Scanner scnr = new Scanner(fileNames);
     Scanner in = new Scanner(System.in);

    int count = 0;
    int lineNumber = 1;

    System.out.print("Please enter a name to look up: ");
    String newName = in.next();

    while(scnr.hasNextLine()){
          if(scnr.equals(newName))
          {
              String line = scnr.nextLine();
              System.out.print(line);
          }
      }
}


现在,我只是试图将其打印出来,以查看是否已捕获它,但这是行不通的。有人有什么想法吗?另外,如果很重要,我不能使用try和catch或arrays。
非常感谢!

最佳答案

您需要将行缓存在本地变量中,以便以后打印出来。这样的事情应该可以解决问题:

while(scnr.hasNextLine()){
    String temp = scnr.nextLine(); //Cache variable
    if (temp.startsWith(newName)){ //Check if it matches
        System.out.println(temp); //Print if match
    }
}


希望这可以帮助!

关于java - java根据第一个单词在文件中查找特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33814910/

10-12 02:50