função de separação de campos

Estou precisando de uma funçao que separe os campos.
No texto que tenho que separar existem três tipos de separadores: . , e |

O texto que vou ler tem essa cara:
19,NIVAL|J@VBY@X|AT- -RJO -SR - PP-01,9028912000200686|

pesquise no fórum sobre StringTokenizer

O exemplo abaixo preeche um ArrayList com cada campo do seu arquivo de texto, qualquer duvida estamos ai.

   ArrayList campo = new ArrayList(); 
   StringTokenizer campos = new StringTokenizer("19,NIVAL|J@VBY@X|AT- -RJO -SR - PP-01,9028912000200686|","|");

   while(campos.hasMoreTokens()){
        campo.add(campos.nextElement());
  }