Dúvida Código

Olá,

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

[code]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”);
}[/code]

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

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"); }

  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.