0

I'm new to Java programming and I'm challenging myself to do this one but it seems when it comes to buffer reader and writer I get lost. I have two text file that I parsing out from csv file, and I want to compare the data between this textfile.

This is what looks like inside the text file.

file1.text
sample1,true,online


file2.text
sample1,true,test,check,OL

expected output :
valid

file3.text
online,OL
offline,OF
idle, IL

I want to compare the online in file1 and OL in file2. But as you can see its seperated with a comma. If the online word in file1 change to offline or idle the output should be invalid and same as on file2. Thanks in advance guys!Any help would be appreciated. Cheers

tuturyokgaming
  • 249
  • 1
  • 8
  • 21

1 Answers1

0

Here you some points.

File3 looks like good candidate to extract it to the Map<K, V>, just place first value as key and second as value.

Read file1 and file2 by lines and split them by comma. Like:

try (BufferedReader br = new BufferedReader(new FileReader(file))) {
    String line;
    while ((line = br.readLine()) != null) {
       String[] values = line.split(",");
       // extract values by indexes and use created map from file3 to validate the input.
    }
}

Validation logic:

Map<String, String> map; // Assuming you populate it with file3 content and it contains online->OL, offline->OF etc. ;
void validate(String valueFromFile1, String valueFromFile2) {
    if (map.containsKey(valueFromFile1) && map.get(valueFromFile1).equals(valueFromFile2)) {
        // Valid;
    } else {
        // invalid
    }
nkukhar
  • 1,975
  • 2
  • 18
  • 37