String StringToBreak = infileCust.readLine();
читает первую строку из файла. И вы кормите StringTokenizer этим. Это нормально, что StringTokenized не находит больше токенов.
Вы должны создать второй цикл, включающий все это, чтобы читать каждую строку. Это:
outer loop: readLine until it gets null {
create a StringTokenizer that consumes *current* line
inner loop: nextToken until !hasMoreElements()
}
Ну, действительно, вам не нужно делать внутренний цикл, потому что у вас есть три разных поля. Достаточно с:
name = st.nextToken();
lastName = st.nextToken();
id = st.nextToken;