逐行读取大文件(文件包含1.000.000行)并解析Java中的某些行的最快方法是什么?例如,这是我文件的一部分
INFO 00:02:12 - returning228885634
INFO 00:02:12 - Step is 1 for 228885634 statusOK duration 0.018
INFO 00:02:12 - Step is 2 for 228885634 statusOK duration 1.55
INFO 00:02:13 - START executing FOR test32967 at Mon Sep 23 00:02:13 GMT+00:00 2013
INFO 00:02:13 - Currently working 7
而且我只想从该片段中解析测试的ID(32967)!
最佳答案
您可以这样尝试:-
try (SeekableByteChannel bytechanel= Files.newByteChannel(Paths.get("abc.txt"))) {
ByteBuffer byte1 = ByteBuffer.allocateDirect(1000);
for(;;) {
StringBuilder s = new StringBuilder();
int n = bytechanel.read(byte1);
// some code
}
}
同时寻找 java.nio.* 软件包