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.
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.
Esquece o parâmetro… não vou usar passagem por parâmetro.
Nem sei usar direito.
Como eu posso resolver isso?
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.
Seria isso ?
[code]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);
}[/code]