長いテキスト ファイルがあります。
次に、ファイルから重複を削除します。問題は、検索パラメーターがリストの最初の単語であり、「:」で区切られていることです。
例えば:
ファイル行:
11234567:229283:29833204:2394803 11234567:4577546765:655776:564456456 43523:455543:54335434:53445 11234567:43455:544354:5443
今、私はこれをここに持っています:
11234567:229283:29833204:2394803 43523:455543:54335434:53445
重複から最初の行を取得する必要があります。他は無視されます。
私はこれを試しました:
Set<String> lines11;
try (BufferedReader reader11 = new BufferedReader(new FileReader("test.txt"))) {
lines11 = new HashSet<>(10000); // maybe should be bigger
String line11;
while ((line11 = reader11.readLine()) != null) {
lines11.add(line11);
}
} // maybe should be bigger
try (BufferedWriter writer11 = new BufferedWriter(new FileWriter("test.txt"))) {
for (String unique : lines11) {
writer11.write(unique);
writer11.newLine();
}
}
それは機能していますが、完全な行が複製された場合にのみ削除されます。
すべての行の最初の単語を探し、ここで重複をチェックするように変更するにはどうすればよいですか。重複が見つからない場合は、行全体を保存します。重複する場合は、行を無視しますか?