Problema em converter String lidos de um arquivo txt para numeros

Pessoal meu problema é o seguinte, tenho dados numeros que forma armazenados em um arquivo texto, cada linha possui quadro informações, então estou usando StringTokenizer para separa-los, depois preciso converte-los em numeros, e quando executo o programa está gerando uma exceção, que esta a baixo:

Exception in thread “main” java.lang.NumberFormatException: 0 -1.0
at java.lang.Integer.parseInt(Integer.java:423)
at java.lang.Integer.parseInt(Integer.java:463)
at CapturaDados.leArquivo(CapturaDados.java:38)
at CapturaDados.main(CapturaDados.java:68)

C:\gl3d>

Estou também enviado o arquivo java e o .txt.

Se alguem puder me ajudar…help

cara você não quer utilizar o método substring do método:

exemplo da sua 1º linha

0;-1.0;0.0;0.0;0.69813174

String stringCampo1 = linha.substring(0,1); String stringCampo2 = linha.substring(2,6); int intCampo2 = Integer.parseInt(stringCampo2); System.out.println("campo1 = " + stringCampo1); System.out.println("campo2 = " + intCampo2);

a saida deve ser algo como:

campo1 =  0 campo2 = -1.0

espero ter ajudado

Fiz como vc falou mais o problema está quando uso conversor de string para numerico, produz a seguinte excecao

Exception in thread “main” java.lang.NumberFormatException: -1
at java.lang.Integer.parseInt(Integer.java:414)
at java.lang.Integer.parseInt(Integer.java:463)
at CapturaDados.leArquivo(CapturaDados.java:33)
at CapturaDados.main(CapturaDados.java:53)

C:\gl3d>

abaixo está meu codigo:

import java.io.*;
import java.util.StringTokenizer;

public class CapturaDados
{

public static  void leArquivo() {
	File arquivo = new File("gl3d.txt");

	FileInputStream   fileInputStream;
	InputStreamReader inputStreamReader;
	LineNumberReader  lineNumberReader;

	String linha;

	/* ABRIR ARQUIVO */
	try {
		fileInputStream   = new FileInputStream(arquivo);
		inputStreamReader = new InputStreamReader(fileInputStream);
		lineNumberReader  = new LineNumberReader(inputStreamReader);

		/* LEITURA LINHA A LINHA DO ARQUIVO */
		while (lineNumberReader.ready()) {
			linha = lineNumberReader.readLine();

			/* IMPRIME LINHA */
		 String stringCampo1 = linha.substring(0,1);
		String stringCampo2 = linha.substring(3,6); 
		int intCampo2 = Integer.parseInt(stringCampo2);
		System.out.println("campo1 = " + stringCampo1);
		System.out.println("campo2 = " + intCampo2);		
		
		}



	} catch (FileNotFoundException fileNotFoundException) {
		System.out.println(fileNotFoundException);
	} catch (IOException ioException) {
		System.out.println(ioException);
	}
}

public static void main(String args[]) {
	
	
CapturaDados capturadados = new CapturaDados();
	
capturadados.leArquivo();
}

}

Estou usando java 1.3.1, devido problemas de implementação

tai como ficou…

[code]
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.StringTokenizer;

public class CapturaDados
{
public void leArquivo() {
File arquivo = new File(“gl3d.txt”);

	FileInputStream   fileInputStream;
	InputStreamReader inputStreamReader;
	LineNumberReader  lineNumberReader;

	String linha;

	/* ABRIR ARQUIVO */
	try {
		fileInputStream   = new FileInputStream(arquivo);
		inputStreamReader = new InputStreamReader(fileInputStream);
		lineNumberReader  = new LineNumberReader(inputStreamReader);

		/* LEITURA LINHA A LINHA DO ARQUIVO */
		while (lineNumberReader.ready()) {
			linha = lineNumberReader.readLine();

			
			System.out.println(linha);
				/* IMPRIME LINHA */
			
			StringTokenizer st = new StringTokenizer(linha,";");
			while( st.hasMoreElements() ) {
				
				String campo1 = st.nextToken();
				String campo2 = st.nextToken();
				String campo3 = st.nextToken();
				String campo4 = st.nextToken();
				String campo5 = st.nextToken();
				
				int intCampo1 = Integer.parseInt(campo1);
				
				double doubleCampo2 = 0.0d; 
				try {
					doubleCampo2 = Double.parseDouble(campo2);
				} catch (Exception e) {
					doubleCampo2 = 0.0f;
				}
				
				double doubleCampo3 = 0.0d; 
				try {
					doubleCampo3 = Double.parseDouble(campo3);
				} catch (Exception e) {
					doubleCampo3 = 0.0f;
				}

				double doubleCampo4 = 0.0d; 
				try {
					doubleCampo4 = Double.parseDouble(campo4);
				} catch (Exception e) {
					doubleCampo4 = 0.0f;
				}

				double doubleCampo5 = 0.0d; 
				try {
					doubleCampo5 = Double.parseDouble(campo5);
				} catch (Exception e) {
					doubleCampo5 = 0.0d;
				}
				
				
				System.out.println("campo1  =" +  intCampo1);
				System.out.println("campo2  =" +  doubleCampo2);
				System.out.println("campo3  =" +  doubleCampo3);
				System.out.println("campo4  =" +  doubleCampo4);
				System.out.println("campo5  =" +  doubleCampo5);
				
				
			}
			
			
			
		}
		
		lineNumberReader.close();

	} catch (FileNotFoundException fileNotFoundException) {
		fileNotFoundException.printStackTrace();
	} catch (IOException ioException) {
		ioException.printStackTrace();
	}
}

public static void main(String args[]) {
	
	
	CapturaDados capturadados = new CapturaDados();
	
	capturadados.leArquivo();
}

}[/code]