Dividir uma string em outras separando-as por um delimitador

Boa tarde pessoas,

Tenho um código que lê um arquivo de texto.
O arquivo tem esse formato: número; número; número
Ex:
4;10;-12

Eu leio cada linha desse arquivo usando o método readLine da classe BufferedReader.
Preciso de algo que separe essa string em três partes:
str1 = 4
str2 = 10
str3 = -12

Li o manual da classe String, mas não encontrei nenhum método que me atenda.

Muito Obrigado!!!

String.split(String)

:wink:

Só pra complicar: :lol:

package regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Teste {
	public static void main(String[] args) {
		new Teste().rodar();
	}
	private void rodar()
	{
		Pattern pattern = Pattern.compile("([^;])+");
                //   ou 
                //Pattern pattern = Pattern.compile("([-\d])+");
		String valor = "4;10;-12";
		Matcher matcher = pattern.matcher(valor);
		while(matcher.find())
		{	
			System.out.println(valor.substring(matcher.start(), matcher.end()));
		}
	}
}

StringTokenizer

:wink:

Pessoas, muito obrigado usando split o retorno é um array então meu códico ficou mais ou menos assim:

   String str;
   String[] param=new String[3];
         
   while ((str = in.readLine()) != null) {
   //System.out.println("Linha: " + str);
      param = str.split(";");
      for(int x = 0; x < param.length; x++)
      {
         System.out.println("Linha: " + param[x]);
      }
   }

O código do Vanzella eu ainda não testei, mas irei testar.

Muito Obrigado!!!

[code]String str;
String[] param;

while ((str = in.readLine()) != null) {
param = str.split(’;’);
for (String s : param)
System.out.println(s);
}[/code]

Se o que você quer é apenas remover o ‘;’, é mais fácil usar replaceAll() e trocá-los por vazio.