正確には、いくつかのファイル、5328を繰り返していました。これらのファイルは平均60〜200行の平均XMLファイルです。それらは最初にパスを解析する簡単な方法isXmlSourceFileによってフィルタリングされます。MalformedInputException(Files.readAllLines())
Files.walk(Paths.get("/home/me/development/projects/myproject"), FileVisitOption.FOLLOW_LINKS)
.filter(V3TestsGenerator::isXmlTestSourceFile)
.filter(V3TestsGenerator::fileContainsXmlTag)
大きな疑問は、第2のフィルタ、特にメソッドfileContainsXmlTagです。各ファイルのために私は、パターンがそれのラインの間で少なくとも一度は含まれていたかどうかを検出したかった:いくつかのファイルの場合
private static boolean fileContainsXmlTag(Path path) {
try {
return Files.readAllLines(path).stream().anyMatch(line -> PATTERN.matcher(line).find());
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
私は、この例外
java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at java.nio.file.Files.readAllLines(Files.java:3205)
at java.nio.file.Files.readAllLines(Files.java:3242)
を取得しかし、私はFileUtiles.readLinesを使用する場合()はFiles.readAllLinesの代わりにすべてうまくいっています。
誰かが何が起こっているのかを知ることができれば、それは喜びです。
おかげ