Home > database >  How can I print 2 arrays with different values in java?
How can I print 2 arrays with different values in java?

Time:04-09

I am trying to print 2 different arrays, One array has the name of the file and the other array has the content of the csv file.

First I am reading the contents of the given file through the path and then putting the content of the .csv file into an array which is nextLine[]


public static void fileRead(File file) throws IOException, CsvException {

        CSVReader csvReader = new CSVReaderBuilder(new FileReader(file)).withSkipLines(1).build();
        String[] nextLine;
        File folder = new File("src/main/resources/FolderDocumentsToRead");
        String[] fileList = folder.list();

        while((nextLine = csvReader.readNext())!=null){
            System.out.println("Name of file: " fileList[0] ", Title of Text: " nextLine[0]);
        }
    }

}

The output I am trying to get is meant to look like;

Name of file: ATale.csv, Title of Text: A TALE OF THE RAGGED MOUNTAINS

Name of file: Diggling.csv, Title of Text: DIDDLING

The output I am getting looks like;

Name of file: ATale.csv, Title of Text: A TALE OF THE RAGGED MOUNTAINS

Name of file: ATale.csv, Title of Text: DIDDLING

I have tried using loops to get to the correct solution but I was just getting errors thrown at me and having a hard time with them.

I'm fairly new to using arrays and java in general, any tips would be appreciated even a tip towards getting the solution.

P.S first time using Stack overflow ahaha

CodePudding user response:

Before the while loop, if you create a variable to keep track of the selected index then you will be able to modify it and have the change stay after the loop has finished.

    int index = 0;
    while(csvReader.hasNext())
    {
        String fileName = fileList[index];
        String title = nextLine[index];
        index  ;
        ...
    }

CodePudding user response:

The line

    while((nextLine = csvReader.readNext())!=null)

can be/should be rewritten like so:

    while(csvReader.hasNext())
    {
        nextLine = csvReader.readNext();
        ...
    }

This helps a lot with reading/debugging

NOTE this is not any sort of solution but a recommendation for ease-of-use

  • Related