要检查一个包含重复数据的文本文件中的数据是否重复,你可以按照以下步骤进行:
使用 BufferedReader 和文件流读取文件内容。
将每行内容分割为字段,这里使用你提供的自定义分隔符 | 作为字段间分隔符。
使用哈希表(或 HashSet )来存储每个字段的值。
遍历每个字段的值,如果已经在哈希表中存在该值,则说明数据重复,否则将该值添加到哈希表中。
检查哈希表的大小,如果大小大于预期 Repeat Count ,则说明数据存在重复。
下面是一个 Java 示例代码,你可以根据自己的需求进行修改:
import
java.io.*;
import java.util.HashMap;
import java.util.Map;
public class CheckDuplicateData {
public static void main(String[] args) throws IOException {
String fileName = "data.txt"; // 文件名
String delimiter = "|"; // 自定义分隔符
int repeatCount = 2; // 预期的重复次数
Map<String, Integer> countMap = new HashMap<>(); // 统计每个字段的值出现的次数
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = br.readLine()) != null) {
String[] fields = line.split(delimiter); // 分割每行为字段
for (String field : fields) {
if (!countMap.containsKey(field)) {
countMap.put(field, 0);
}
countMap.put(field, countMap.get(field) + 1);
}
if (countMap.size() > repeatCount) {
System.out.println("数据存在重复");
break;
}
}
}
}
}
在上面的示例代码中,我们使用了 HashMap 来统计每个字段的值出现的次数。在遍历文件内容时,对于每个字段,我们首先检查是否已经存在于哈希表中,如果不存在,则将其添加到哈希表中并记录计数;如果已经存在于哈希表中,则将计数加一。最后,检查哈希表的大小是否大于预期重复次数,如果是,则输出提示信息并退出循环。