java如何获取特定行及其编号

lyfkaqu1  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(303)

所以我做了一个从文本文件中获取数据的程序,我不能说我不能使用db。
代码:

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;

public class Points {

   public void ReadFile() throws IOException {
       int lineNumber = 0;
       Scanner scan = new Scanner("test.txt");

       while(scan.hasNextLine())
       {
           lineNumber++;
           scan.nextLine();
           if(scan.nextLine().startsWith("12345"))
           {
               break;
           }
       }

       String specific_line_text = Files.readAllLines(Paths.get("bal.txt")).get(lineNumber);

       System.out.println(specific_line_text);
   }

}

示例文本文件(注意:数字在一行中)

1 random line 1
12 random line 3
123 random line 6
1234 random line 10
12345 random line 15

代码中没有错误,但我无法得到预期的结果
预期结果是“12345随机行15”

xytpbqjk

xytpbqjk1#

你的程序包含多个错误。

new Scanner("test.txt")

上面的第一个调用不会扫描文件,而是扫描您提供的字符串。

scan.nextLine();
 if(scan.nextLine().startsWith("12345"))
 {
    break;
 }

在这里调用nextline()两次。最好调用它一次,并将其结果赋给一个变量。

相关问题