文字列を含む行を印刷したいファイルがありますA/C NO:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import org.apache.commons.io.FileUtils;
public class TestFndString {
public static void main(String[] args) throws IOException {
String str1 = FileUtils.readFileToString(new File("C:/Testing.txt"));
LineNumberReader lnr = new LineNumberReader(new FileReader(new File("C:/Testing.txt")));
lnr.skip(Long.MAX_VALUE);
if (str1.contains("A/C NO:")) {
int num = lnr.getLineNumber();
System.out.println(num);
}
}
}
私のコードは、その文字列を含む行番号として 2 を出力していますが、文字列は実際には 3 行目にあります。これが私のファイルのサンプルです。
jhsdjshdsjhdjs
sdkjsdkjskdjskjd
AjhsdjhsdjhA/C NO: jhsdjhsdjssdlk
明らかに、これがより大きなファイルまたはファイルのグループを読み取ることを信頼していません。これを行う最善の方法は何ですか?