My code is supposed to read a file line by line, to put each one in a string array named: tuples, (tuples=ligne.split(" "); ) and then add this tuples to an arraylist, one line read = one element of the arraylist.
Unfortunately, my code doesn't work! My buffered reader throws a   NullPointerException in my loop! 
Error returned in the ExtractFile() method, line 120: tuples= ligne.split(" ");
File file = new File("Department.txt");
BufferedReader in;
PrintWriter out;
String ligne;
int nbCols; //number of metadatas in my file.txt  
String metadata[] = new String[nbCols];
String[] tuples = new String[nbCols];//1ere case indique num ligne
ArrayList<String[]> itemset = new ArrayList<String[]>();
public ArrayList ExtractionFile () {
    try {
        int i = 1;
        in = new BufferedReader(new FileReader(file));
        while ((ligne = in.readLine()) != null) {
            while (ligne.charAt(0) != '1') {
                ligne = in.readLine();//browse until line 1 is found
            }
            tuples = ligne.split(" ");
            itemset.add(tuples);
            System.out.println(Arrays.toString(itemset.get(0)));
            for (i = 2; i < TuplesCount(); i++) {
                ligne = in.readLine();
                tuples = ligne.split(" ");// THIS LINE THROWS THE EXCEPTION
                itemset.add(tuples);
                System.out.println(Arrays.toString(itemset.get(i)));
            }
        }
    } catch (IOException es) {
        es.printStackTrace();
    } catch (ArrayIndexOutOfBoundsException exepti) {
        exepti.printStackTrace();
    }
    return itemset;
}
 
     
     
     
    