如何在读取csv文件时跳过重复的行?

时间:2018-12-17 11:29:02

标签: java json couchdb

我需要跳过csv文件中的重复项,并且需要将原始值插入到我的长沙发数据库中。 这是我的代码。

public class Json {
    public List<User> jsonConvert()
                throws JsonGenerationException, JsonMappingException, IOException {
        File input = new File("C:\\Users\\SwedhaS\\Documents\\SametimeFileTransfers\\newPIRs.csv");      

        Pattern pattern = Pattern.compile(",");

        try (BufferedReader in = new BufferedReader(new FileReader(input));) {
            List<User> users = in 
                .lines()
                .skip(1)
                .<User>map(line -> {
                    String[]x = new String[6];
                    x = pattern.split(line);
                    return new User(x);
                }).collect(Collectors.toList());

            ObjectMapper mapper = new ObjectMapper();
            mapper.enable(SerializationFeature.INDENT_OUTPUT);
            mapper.writeValue(System.out, users);

            return users;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

我相信您正在尝试从users列表中删除重复项,对吧?

为此,如果您还想保留订单,则可以使用HashSet,它会自动删除重复项:

Set<String> usersSet = new LinkedHashSet<>(users);