Problemas com saída de dados em Binário

4 respostas
L

Pessoal, bom dia.
Estou me batendo aqui faz um tempo, e resolvi apelar.
Baseando-se no código que vou postar eu preciso que vocês me ajudem na seguinte questão.
COMO EU FAÇO PRA IMPORTAR UM ARQUIVO .DAT (BINÁRIO)?
O QUE ESTOU FAZENDO DE ERRADO?

public void Salvar_binario(String texto) throws IOException {
try {
    
    DataOutputStream outputStream = new DataOutputStream(
    new FileOutputStream("C:\\Binário"));

    int n;
    n = Integer.parseInt(texto); 
    outputStream.writeInt(n); 
    outputStream.close();
}
    catch(IOException e) {
    System.out.println("Problemas na saída de dados.");
}

    System.exit(0);

Apresenta o seguinte erro!
Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “Nome: Liberapo
Idade 21”

Obrigado pela ajuda.

4 Respostas

TerraSkilll

Qual é o valor da variável texto quando você a passa para o método parseInt() ? Este método espera uma string que possa ser convertida em um número, ou seja, uma string sem letras ou outros caracteres que não correspondam a números.

Qual IDE você está usando? Tente debugar e ver o valor da variável texto, pois provavelmente é a causa do erro.

Abraço.

L

Esquece o parâmetro… não vou usar passagem por parâmetro.
Nem sei usar direito.

Como eu posso resolver isso?

fabiocortolan

O problema é justamente como o TerraSkilll disse, vc está passando caracteres não numéricos na variável texto e tentanto converter para numérico, o erro já diz isso:

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “Nome: Liberapo Idade 21”

NumberFormatException é excessão gerada por erro de formato de números.

mateus.cordeiro

Seria isso ?

public void salvarBinario(String texto) throws IOException {  
		try {  
			BufferedWriter outputStream = new BufferedWriter(new FileWriter("C:\\Binário.txt")); 		    
			
			for (byte n : texto.getBytes()) {				
	            outputStream.write(Integer.toBinaryString(n));
	        }
		       
		    outputStream.close();  
		}  
		    catch(IOException e) {  
		    System.out.println("Problemas na saída de dados.");  
		}  	  
		    System.exit(0);  
	}
Criado 26 de junho de 2013
Ultima resposta 26 de jun. de 2013
Respostas 4
Participantes 4