我有一个长文本文件。
现在我将从文件中删除重复项。问题是搜索参数是列表中的第一个单词,用“:”分隔
例如:
文件行:
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();
}
}
这是有效的,但只有在复制完整行时才会删除。
如何更改它,以便它在每一行中查找第一个单词并在此处检查重复项;当没有找到重复时,保存完整的行;如果重复则忽略该行?