我有一个包含日志打印输出的文件,我想读取某些行并从行的中间到行尾的某个点,然后移动到符合条件的下一行。 我想从 RULE EXECUTING 开始阅读到该行的末尾,然后检查它的下一行是否有 RULE EXECUTING 如果没有则跳到下一行如果确实有 RULE EXECUTING 然后从该点复制到该行的末尾.
FILE SAMPLE
2013-02-14 09:26:20:078 [main] DEBUG sne.ABC.hdhdh.jfjjfj.jkfjfjd.jdsd - RULE EXECUTING --> CMNETSL.hdjjjdlskdnlskd.jgfkdflkdfl_Translation
2013-02-14 09:28:00:312 [main] DEBUG moc.uty.lweifoisd.sfsd.kjfdnkjs.RulesetInvoker - Rudejgfjkgjf: After invoking: CMNETSLO
2013-02-14 09:26:20:421 [main] DEBUG sne.ABC.hdhdh.jfjjfj.jkfjfjd.jdsd - RULE EXECUTING --> sne.ABC.hdhdh.jfjjfj.jkfjfjd.jdsd
what I want to get from the line would look like this
RULE EXECUTING --> CMNETSL.hdjjjdlskdnlskd.jgfkdflkdfl_Translation
RULE EXECUTING --> sne.ABC.hdhdh.jfjjfj.jkfjfjd.jdsd
最佳答案
所以,像这样:
BufferedReader br = new BufferedReader(new FileReader("mylog.log"));
String line;
int idx;
while((line = br.getLine()) != null)
if((idx = line.indexOf("RULE EXECUTING --> ")) != -1)
System.out.println(line.substring(idx));
我没有在 ide 中尝试过或编译它,但我认为你可能明白了。
关于java - 想从特定点开始读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15532695/