Dúvida Código

2 respostas
M

Olá,

Alguem poderia me informar se este código esta correto, caso contrario onde esta o erro?

try {
FileOutputStream writer = new FileOutputStream(file);
	FileWriter output = new FileWriter(writer);
	output.writeDouble(39.3);
	output.writeBoolean(true);
	output.writeInt(10000);
	writer.flush();
	
	writer.close();
} catch (IOException ioe) {
	JOptionPane.showMessageDialog(null,
		"Não foi possível criar arquivo");
}

Ah aproveitando,

ObjectInputStream deve ser usado para manipular aquivos texto?

Quando disparamos uma exceção, o método corrente termina imediatamente caso não haja tratador?

Valew

2 Respostas

filipefox

Amigo, creio que a classe FileWriter não possui esses metodos writeDouble e writeBoolean, se tiver eu vou ser crucificado!!! :shock:

Para arquivos de texto, a propria API do Java recomenda usar o FileWriter. (http://java.sun.com/j2se/1.5.0/docs/api/java/io/FileOutputStream.html)

File file = new File("teste.txt"); try { FileWriter fileWriter = new FileWriter(file); fileWriter.write("39.3"); fileWriter.write("true"); fileWriter.write(10000); fileWriter.close(); } catch (IOException ioe) { JOptionPane.showMessageDialog(null, "Não foi possível criar arquivo"); }

T
  1. Não e não; ObjectInputStream só deve ser usado em conjunto com ObjectOutputStream.
  2. A thread corrente termina se não houver alguém que trate a exceção.
    De qualquer maneira, você pode mudar esse comportamento: veja
    setDefaultUncaughtExceptionHandler

Às vezes alguma outra coisa trata a exceção, embora não esteja explícito - como é o caso do Swing: se você lançar uma exceção em um ActionListener por exemplo, e ninguém a tratar, o Swing “engole” a exceção.

Criado 1 de setembro de 2008
Ultima resposta 1 de set. de 2008
Respostas 2
Participantes 3