Q:

How to read a ;-separated CSV in Java that can countain an unknown number of elements

I know there exist a lot questions about reading CSV files, but I simply can't find one that fits my needs. 
I try to get keywords from a keywords.csv that can be in a form like this.  The delimeter is always the ";". 
SAP;BI; Business Intelligence;
ERP;
SOA;
SomethingElse;

I already looked into openCSV and so on, but I can't find a functioning example how to do that (simple) task. 
I tried this:
public void getKeywords()
    {
           try {
               int rowCount = 0;
               CSVReader reader = new CSVReader(new FileReader(csvFilename), ';');
               String[] row = null;
               while((row = reader.readNext()) ! = null) {

                   System.out.println(row[rowCount]);
                   rowCount++;
               }
               //...
               reader.close();
           }
     catch (IOException e) {
        System.out.println("File Read Error");
    }

But it will just return the first element.  I don't know what I do wrong.  Im new to coding as you may have noticed :)
EDIT: Got what I wanted, thanks for your help! 
 while((row = reader.readNext()) ! = null) {
                   for (int i=0; i<  row.length; i++ )
                   {
                       System.out.println(row[i]);
                   }

Please help an old man out. 
Thank you!  

A:

Using openCSV, you could use this code:
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), ';');

That will open the .csv file, read it in, and use a ; as the delimiter.  A similar example can be found on the openCSV home page. 
Once you have the file read in, you can use the data with something like the following:
String [] nextLine;
// Read from the csv sequentially until all the lines have been read. 
while ((nextLine = reader.readNext()) ! = null) {
    // nextLine[] is an array of values from the line
    System.out.println(nextLine[0] + nextLine[1] + "etc...");
}

Where nextLine is a line from the file, and nextLine[0] will be the first element of the line, nextLine[1] will be the second, etc. 
Edit:
In your comment below, you mentioned that you don't know how many elements will be in each row.  You can handle that by using nextLine.length and figuring out how many elements are in that row. 
For example, change the above code to something like:
String [] nextLine;
while ((nextLine = reader.readNext()) ! = null) {
    if(nextLine.length == 1) {
        // Do something with the first element, nextLine[0]
        System.out.println(nextLine[0]);
    }
    else if(nextLine.length == 2) {
        // Do something with both nextLine[0] and nextLine[1]
        System.out.println(nextLine[0] + ", " + nextLine[1]);
    }
    // Continue depending on how you want to handle the different rows. 
}

