Java去除文件中的重复行

几天在做数据校正的时候,其中有一个流程需要在几千行数据中剔除掉其中重复的数据,这个工作量就比较大了,虽然 excel 也有去除重复行的功能,但想到 IO 流中有读取一行数据的方法,如果用程序实现,应该要比用 excel 处理快很多,毕竟excel 还要来回的复制粘贴,而程序只要 run 一下就好了,下面就是具体实现代码

public static void main(String[] args) throws Exception {
        // 需要处理数据的文件位置
        FileReader fileReader = new FileReader(new File("E:\\tt.txt"));
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        Map map = new HashMap();
        String readLine = null;
        int i = 0;

        while ((readLine = bufferedReader.readLine()) != null) {
            // 每次读取一行数据,与 map 进行比较,如果该行数据 map 中没有,就保存到 map 集合中
            if (!map.containsValue(readLine)) {
                map.put("key" + i, readLine);
                i++;
            }
        }

        for (int j = 0; j < map.size(); j++) {
            System.out.println(map.get("key" + j));
        }
    }

代码也比较简单,下面我们来看具体效果如何

Java去除文件中的重复行_第1张图片

代码执行后效果

Java去除文件中的重复行_第2张图片

当然,如果数据量很大的话,我们还可以把筛选出来的数据保存到一个文件中,或是进行其他操作也都是比较容易实现的

你可能感兴趣的:(Java,工具类)