Java 分析多行文本文件的各行?

Java 分析多行文本文件的各行?,java,file,io,Java,File,Io,我对我过去做过的一些事情有疑问,但从未真正想过这是否是最有效的方法 假设我有一个文本文件,其中每一行都包含一些重要的内容,然后假设我有多组这些行,每一行对应一个独特的环境…例如: 1 String that I need to parse for specific tokens.. 2 String that I need to parse for specific tokens.. String that I need to parse for specific tokens.. 3 Stri

我对我过去做过的一些事情有疑问,但从未真正想过这是否是最有效的方法

假设我有一个文本文件,其中每一行都包含一些重要的内容,然后假设我有多组这些行,每一行对应一个独特的环境…例如:

1
String that I need to parse for specific tokens..
2
String that I need to parse for specific tokens..
String that I need to parse for specific tokens..
3
String that I need to parse for specific tokens..
String that I need to parse for specific tokens..
String that I need to parse for specific tokens..
因此,对于上面的输入文件,我过去解决这个问题的方法类似于下面的方法(半伪代码!):

我的问题是,为BufferedReader中的每一行创建一个新的Scanner对象似乎效率极低

是否有更好的方法实现此功能

一个建议可能是用记号扫描整个文档,但我的问题是我无法跟踪子集(由整数表示)之间的字符串数;或者至少我想不出其他解决办法,除了每次看新行时减少计数器

提前谢谢

看看这个

public static void main(String[] args) throws IOException {

        BufferedReader bf = new BufferedReader(new FileReader(new File("d:/sample.txt")));
        LineNumberReader lr = new LineNumberReader(bf);
        String line = "";            
        while ((line = lr.readLine()) != null) {
            System.out.println("Line Number " + lr.getLineNumber() +
                    ": " + line);                
        }
    }

Java中有许多解析字符串的方法不需要使用
扫描器
。我很震惊谷歌搜索竟然没有找到一个…@BrianRoach我也是,这就是为什么我发布了一个问题。
public static void main(String[] args) throws IOException {

        BufferedReader bf = new BufferedReader(new FileReader(new File("d:/sample.txt")));
        LineNumberReader lr = new LineNumberReader(bf);
        String line = "";            
        while ((line = lr.readLine()) != null) {
            System.out.println("Line Number " + lr.getLineNumber() +
                    ": " + line);                
        }
    }