//*****************************************************************************
// Read any size CSV file into a 2 dim String array 
//*****************************************************************************
import java.nio.file.*;                             //import nio.file package

public class ReadCSVfile
{
    public static void main(String[] args)
    { 
        String filename      = "../zAnalytics/dataset3.csv";        //CSV file
        String array2dim[][] = null;                                //2dim array to hold CSV file
        
        readCSV(filename, array2dim);
    }
    
    public static void readCSV(String filename, String[][] array2dim)
    {
        try {            
            Path infile = Path.of(filename);

            String str = Files.readString(infile);                  //read entire file into a String
            
            String[] lines = str.split("\n");                       //split on newlines
            int numLines   = lines.length;
            
            array2dim = new String[numLines][];                     //2 dim array to hold the CSV
            
            for (int i=0; i < numLines; i++)
            {
                String[] cols = lines[i].split(",");                //split each line on commas  
                array2dim[i]  = cols;           
            }

            for (int line=0; line < array2dim.length; line++)       //print - optional
            {
                for (int col=0; col < array2dim[line].length; col++)
                    System.out.printf(array2dim[line][col] + "\t");
                System.out.println();                    
            }
        } 
        catch(Exception e) 
        {
            e.printStackTrace();                                    //print trace dump
        }        
    }
}