Trillianの:
私のような文字列の2つのストリームを持っています:
Stream<String> thisWeekFile = Files.lines(thisWeekPath);
Stream<String> lastWeekFile = Files.lines(lastWeekPath);
先週と比較して、この週のファイルには、同じ文字列の追加、いくつかの文字列または削除、いくつかの文字列を持つことができます。今の私はこれ以上、この週のファイルの最後の週のファイルに存在していたではなく、文字列に興味があります。どのように私はこれらの文字列を得るのですか?私は試した
lastWeekFile.filter(e->!thisWeekFile.anyMatch(e));
エラーを与えて上記:文字列は述語に変換することはできません。
Idealy私のような何かをしたいです
lastWeekFile.filter(e->!thisWeekFile.contains(e));
ルスラン:
使用するFiles.readLines()
代わりに、ストリームのリターンリストは、それがストリームAPIなしで行うことができるという方法を:
List<String> thisWeekFile = Files.readAllLines(thisWeekPath);
List<String> lastWeekFile = Files.readAllLines(lastWeekPath);
lastWeekFile.removeAll(thisWeekFile);