Red de conocimiento informático - Conocimiento informático - Ayuda a escribir un programa de escritura y lectura de texto Java, que debe tener una ventana visual.

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: