Ok, ma che stringa ti arriva? Perché sembra che manchi un pezzo...

Fai una cosa: all'inizio di quel while fatti stampare il valore di sc e vediamo cosa ti arriva


ps1: al posto di StringTokenizer è preferibile il metodo split() di String. Comunque non è qui il problema

ps2: quel while può essere riscritto così:

codice:
BufferedReader br = new BufferedReader(new FileReader(file));
String sc = null;

while ( (sc = br.readLine() ) != null ) {
    // operazioni 
}