解析多行文本文件的个别行

  • 本文关键字:文件 文本 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
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 inputFile = new BufferedReader(new FileReader("file.txt"));
while(inputFile.hasNextLine())
{    
     Scanner line = new Scanner(inputFile.nextLine());
     //parse the line looking for tokens
}
inputFile.close();

我的问题是,为我的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);                
        }
    }

相关内容

  • 没有找到相关文章

最新更新