Arquivo Texto - erro ao converter String para int

7 respostas
T

Caros,

Nesse trecho gravo num arquivo texto;

// Recupera o número da placa data de entrada e saída do veiculo, etc...

				String placa = v.getPlaca();
				String cor = v.getCor();
				String dataEntrada = v.getDataEntrada();
				String dataSaida = v.getDataSaida();
				String horaEntrada = v.getHoraEntrada();
				String horaSaida = v.getHoraSaida();
				String segundoEntrada = ""+ v.getSegundosEntrada();
				String segundoSaida = ""+v.getSegundosSaida();
				
				
				// Testa pela primeira linha, e se não for a primeira, quebra uma linha no texto
				if (firstLine)
					firstLine = false;
				else	
					bw.newLine();
				
				// Escreve  número da placa data de entrada e saídae etc... do veiculo separados por vírgula
				bw.write(placa+","+pT_cC+","+cor+","+dataEntrada+","+dataSaida+","+horaEntrada+","
						+horaSaida+","+segundoEntrada+","+segundoSaida);	//Grava no arquivo texto!				
			}
			


//Nesse trecho de um outro metodo, onde recupero os dados do arquivo texto da o erro


// Declara uma variável para guardar cada linha
			String line;
			
			// Enquanto cada linha for diferente de nulo
			while ( (line = br.readLine()) != null )
			{
				// Quebra a linha por "vírgula", e recupera placa data entrada e saída e etc...
				String[] vet = line.split(",");
				String placa = vet[0];
				String cor = vet[1];		
				int pT_cC = Integer.parseInt(vet[2]);//Para aqui				
				String dataEntrada = vet[4];
				String dataSaida = vet[5];
				String horaEntrada = vet[6]; 
				String horaSaida = vet[7];				
				long segundosEntrada = Long.parseLong(vet[8]);//ou aqui				 
				long segundosSaida = Long.parseLong(vet[9]);//ou aqui


//Esse é  o erro...

//Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""

Não sei se estou convertendo certo, de inteiro ou long para String.

7 Respostas

cassio

Na hora de ler vc está pulando o indice 3.

marcosbrandao

Seu erro parece estar aqui:

String cor = vet[1];          
int pT_cC = Integer.parseInt(vet[2]);//Para aqui

está com os indices trocados,
cor = 2
pT_cC = 1

ViniGodoy

Não entendi… você grava:
placa, Pt_CC, cor, dataEntrada

mas na hora de ler, você lê:
placa, cor, Pt_CC e data?

Vc não inverteu a cor com o Pt_CC?

O comando que você usou para converter string para long está certinho.

paulorb.pacheco

Cara segundo o erro:
java.lang.NumberFormatException: For input string: “”

é que vc está tentando converter uma string vazia para um inteiro ou long…
não consegues fazer isto:
Integer.parseInt("")
Tem que ter algo ali:
Integer.parseInt(“9”), por exemplo…

flw

Omeganosferatu

Como o colega a cima ja disse, algum elemento do seu vetor está retornando uma String vazia…

Se você tenta usar o parse pra alguma String que não seja numérica, você vai ter um java.lang.NumberFormatException

abs

T

KARAKA!!! :oops: :oops: :oops:
É mesmo estva trocando tudo…vou acertar isso!
Falta de antenção…
value pessoal! :oops:

T

Obrigado foi falta de atenção!

Criado 1 de novembro de 2007
Ultima resposta 1 de nov. de 2007
Respostas 7
Participantes 6