Ayuda a escribir un programa de escritura y lectura de texto Java, que debe tener una ventana visual.
Programa fuente Java:
importar?java.awt.*;
importar?java.awt.event.*;
import?javax.swing.*;
import?java.io.*;
¿clase?pública?GUIRWFile?extends?JFrame?implements?ActionListener?{
JTextArea?txtMessage;
JButton?btnRead,?btnWrite;
public?GUIRWFile()?{
super( "Leer y escribir texto");
txtMessage?=?new?JTextArea(15,?30);
btnRead?=?new?JButton("leer");
btnWrite?=?new?JButton("escribir");
this.setLayout(new?FlowLayout());
this.add(new ? JLabel("Contenido del archivo: "));
this.add(txtMessage);
this.add(btnRead);
this.add( btnWrite );
btnRead.addActionListener(this);
btnWrite.addActionListener(this);
this.setSize(400,?400);
p>this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public?static?void?main(String[]?args)?{
new?GUIRWFile();
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
JButton?btn?=?(JButton)e.getSource();
String?fileName?= ? "D:\\test.txt";
if(btn.getText().equals("read")){
intentar{
InputStream?is?=?new?FileInputStream(fileName);
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(is));
String?line?= ?null;
StringBuffer?buffer?=?new?StringBuffer();
while((line?=?br.readLine())?=?null){< / p>
buffer.append(line?+?"\n");
}
txtMessage.setTe
xt(buffer.toString());
br.close();
is.close();
}
catch(Exception?ex){
JOptionPane.showMessageDialog(this, "¡Error de E/S del sistema!");
}
}
else?if(btn.getText().equals("write")){
prueba{
String?msg?=?txtMessage.getText() ;
OutputStream?os?=?new?FileOutputStream(fileName);
PrintStream?ps?=?new?PrintStream(os);
imprimir ps. (msg);
ps.close();
os.close();
}
catch(¿Excepción? ex ){
JOptionPane.showMessageDialog(this, "¡Error de E/S del sistema!");
}
}
}
}?
Ejecutar la prueba: