import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.io.*;
public class CargaYSalva {
public static void main (String args[]) {
Runnable tareaSwing = new Runnable() {
public void run() {
final String nombreFichero = "texto.txt";
JFrame ventana = new JFrame("Ejemplo de carga y salvar un fichero en una componente texto");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField campoTexto = new JTextField();
ventana.add(campoTexto, BorderLayout.NORTH);
JPanel panel = new JPanel();
// Define las acciones
Action accionCargar = new AbstractAction() {
{
putValue(Action.NAME, "Cargar");
}
public void actionPerformed(ActionEvent e) {
hacerComandoCargar(campoTexto, nombreFichero);
}
};
JButton botonCargar = new JButton (accionCargar);
panel.add(botonCargar);
Action accionSalvar = new AbstractAction() {
{
putValue(Action.NAME, "Salvar");
}
public void actionPerformed(ActionEvent e) {
hacerComandoSalvar(campoTexto, nombreFichero);
} };
JButton saveButton = new JButton (accionSalvar);
panel.add(saveButton);
Action accionLimpiar = new AbstractAction() {
{
putValue(Action.NAME, "Limpiar");
}
public void actionPerformed(ActionEvent e) {
campoTexto.setText("");
} };
JButton botonLimpiar = new JButton (accionLimpiar);
panel.add(botonLimpiar);
ventana.add(panel, BorderLayout.SOUTH);
ventana.setSize(250, 150);
ventana.setVisible(true);
}
};
EventQueue.invokeLater(tareaSwing);
}
public static void hacerComandoSalvar(JTextComponent componenteTexto,
String nombreFichero) {
FileWriter escritor = null;
try {
escritor = new FileWriter(nombreFichero);
componenteTexto.write(escritor);
} catch (IOException exception) {
System.err.println("Error salvando");
exception.printStackTrace();
} finally {
if (escritor != null) {
try {
escritor.close();
} catch (IOException exception) {
System.err.println("Error cerrando escritor");
exception.printStackTrace();
} }
} }
public static void hacerComandoCargar(JTextComponent componenteTexto,
String nombreFichero) {
FileReader lector = null;
try {
lector = new FileReader(nombreFichero);
componenteTexto.read(lector, nombreFichero);
} catch (IOException exception) {
System.err.println("Error cargando");
exception.printStackTrace();
} finally {
if (lector != null) {
try {
lector.close();
} catch (IOException exception) {
System.err.println("Error cerrando lector");
exception.printStackTrace();
}
} }
} }
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.io.*;
public class CargaYSalva {
public static void main (String args[]) {
Runnable tareaSwing = new Runnable() {
public void run() {
final String nombreFichero = "texto.txt";
JFrame ventana = new JFrame("Ejemplo de carga y salvar un fichero en una componente texto");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField campoTexto = new JTextField();
ventana.add(campoTexto, BorderLayout.NORTH);
JPanel panel = new JPanel();
// Define las acciones
Action accionCargar = new AbstractAction() {
{
putValue(Action.NAME, "Cargar");
}
public void actionPerformed(ActionEvent e) {
hacerComandoCargar(campoTexto, nombreFichero);
}
};
JButton botonCargar = new JButton (accionCargar);
panel.add(botonCargar);
Action accionSalvar = new AbstractAction() {
{
putValue(Action.NAME, "Salvar");
}
public void actionPerformed(ActionEvent e) {
hacerComandoSalvar(campoTexto, nombreFichero);
} };
JButton saveButton = new JButton (accionSalvar);
panel.add(saveButton);
Action accionLimpiar = new AbstractAction() {
{
putValue(Action.NAME, "Limpiar");
}
public void actionPerformed(ActionEvent e) {
campoTexto.setText("");
} };
JButton botonLimpiar = new JButton (accionLimpiar);
panel.add(botonLimpiar);
ventana.add(panel, BorderLayout.SOUTH);
ventana.setSize(250, 150);
ventana.setVisible(true);
}
};
EventQueue.invokeLater(tareaSwing);
}
public static void hacerComandoSalvar(JTextComponent componenteTexto,
String nombreFichero) {
FileWriter escritor = null;
try {
escritor = new FileWriter(nombreFichero);
componenteTexto.write(escritor);
} catch (IOException exception) {
System.err.println("Error salvando");
exception.printStackTrace();
} finally {
if (escritor != null) {
try {
escritor.close();
} catch (IOException exception) {
System.err.println("Error cerrando escritor");
exception.printStackTrace();
} }
} }
public static void hacerComandoCargar(JTextComponent componenteTexto,
String nombreFichero) {
FileReader lector = null;
try {
lector = new FileReader(nombreFichero);
componenteTexto.read(lector, nombreFichero);
} catch (IOException exception) {
System.err.println("Error cargando");
exception.printStackTrace();
} finally {
if (lector != null) {
try {
lector.close();
} catch (IOException exception) {
System.err.println("Error cerrando lector");
exception.printStackTrace();
}
} }
} }