Compare two csv files using java

Compare two csv files using java

csv file (Comma-Separated Values)

test1.csv

refe‮‬r to:lautturi.com
hello,lautturi,java,python,world
1,2,3,4,5,6,7,8,9,10

test2.csv

hello,lautturi,Java,python,world
1,2,3,4,5,6,7,8,10
//download csv reader maven dependency for this
public class ReadCSV {
    public List<Map<String, String>> read(String filename) throws CsvValidationException, IOException {

        CSVReader csvReader = new CSVReader(new FileReader(filename));

        String[] headerArray = csvReader.readNext();
        String[] lineInArray;

        List<Map<String, String>> listOfMaps = new ArrayList<Map<String, String>>();

        while ((lineInArray = csvReader.readNext()) != null) {
            HashMap<String, String> map = new HashMap<String, String>();

            for (int i = 0; i < lineInArray.length; i++) {
                map.put(headerArray[i], lineInArray[i]);
            }

            listOfMaps.add(map);
            //System.out.println(map);
        }

        return listOfMaps;

    }

    public static void main(String[] args) throws IOException, CsvException {
        
        //select relative path of csv
        
        String filename1 = "test1.csv";
        String filename2 = "test2.csv";
        

        ReadCSV readCSV = new ReadCSV();

        List<Map<String, String>> file1 = readCSV.read(filename1);
        List<Map<String, String>> file2 = readCSV.read(filename2);

        for (int i = 0; i < file1.size(); i++) {

            if (!file1.get(i).equals(file2.get(i))) {
                System.out.println("file1: " + file1.get(i));
                System.out.println("file2: " + file2.get(i));
                System.out.println("---------------------");
            }
        }

    }
}
Created Time:2017-09-03 09:10:57  Author:lautturi