Guardar un Area de Texto (JFileChooser)

    Anteriormente, en este blog he explicado como crear un archivo de texto desde la consola de Java (pantalla estilo DOS) con distintas extensiones. También he explicado como crear un área de texto y aplicarla a un Frame con menú desplegable.

    Ahora explicare como guardar lo que estamos escribiendo en una área de texto, indiferentemente si es un campo (TextField) o un área mas grande (como un TextArea), para ello utilizaremos el constructor "JFileChooser", el cual pertenece a la libreria "swing".

    Recordando que Java es un lenguaje muy sencillo y que para programar solo hay que aplicar la lógica y saber algo de ingles, esto no sera muy difícil de agregar a cualquier parte de nuestro código.

    Para comenzar dejo el link de las líneas de código que implementan la opción de "guardado" en un Frame utilizando un área de texto (TextArea).

void Guardar () //Guardar el TextArea
{
try
{
String nombre = "";
JFileChooser MI_ARCHIVO=new JFileChooser(System.getProperty("user.dir"));
MI_ARCHIVO.showSaveDialog(this);
File GUARDAR =MI_ARCHIVO.getSelectedFile();
if(GUARDAR != null)
{
nombre=MI_ARCHIVO.getSelectedFile().getName();
FileWriter GUARDADO=new FileWriter(GUARDAR);
GUARDADO.write(VARIABLE_DEL_TEXT_AREA.getText());
GUARDADO.close();
}
}
catch(IOException exp)
{
System.out.println(exp);
}
}

    Como siempre, dare una explicación de cada línea que se encuentra en el ejemplo. Como podemos ver en el ejemplo, estamos utilizando un "try" y un "catch", siempre es bueno colocarlos en este tipo de métodos. Explicare lo que hay en el código línea por línea para quedar claros en esto del "JFileChooser", si interpretamos y traducimos JFileChooser significa "Selector de Archivos de Java".

- try {

    Esto ya lo he explicado varias veces, pero no esta demas recordarlo. Siempre recomiendo utilizar el "try and catch", por más simple que sea el programa.

- String nombre = ""

    Utilizamos una variable del tipo "String" la cual estara en blanco, para eso colocamos las dos comillas seguidas, para que la variable este vacia. Esta variable sera utilizada más adelante para guardar nuestro "TextArea".

- JFileChooser MI_ARCHIVO=new JFileChooser(System.getProperty("user.dir"))

    Crea una variable del tipo "JFileChooser" llamada "MI_ARCHIVO", la cual va a capturar las propiedades del sistema con "System.getProperty" y los directorios del usuario con "user.dir".

- MI_ARCHIVO.showSaveDialog(this)

    Muestra el cuadro de diálogo que trae por defecto la libreria de Java, aplicandola a la variable "MI_ARCHIVO", que fue anteriormente creada.

- File GUARDAR =MI_ARCHIVO.getSelectedFile()

    Crea una variable del tipo "File" (del tipo archivo) llamada "GUARDAR", y que esta va a ser igual al archivo selecto (getSelectedFile()), de la variable "MI_ARCHIVO". Esto devuelve el archivo que vamos a leer.

- if(GUARDAR != null)

    En caso de que la variable "GUARDAR" no sea nula se aplicara la condición, para ser mas claros esto funciona así,  si le damos a cancelar la variable "GUARDAR" sera nula (null) y no hara el guardado de archivo que se encuentra dentro del "if".

- nombre=MI_ARCHIVO.getSelectedFile().getName()

    En la variable del tipo "String" llamada "nombre" almacenaremos el nombre y el archivo selecto de la variable "MI_ARCHIVO". Para esto, obtendremos el nombre con "getName()" y el archivo seleccionado con "getSelectedFile()", las cuales aplican a la variable "MI_ARCHIVO".

- FileWriter GUARDADO=new FileWriter(GUARDAR)

    Creamos una variable del tipo "FileWriter" llamada "GUARDADO", la cual sera una instancia de la variable "GUARDAR".

-GUARDADO.write(VARIABLE_DEL_TEXT_AREA.getText())

    Escribimos todo lo que hay en nuestra área de texto dentro de la variable "GUARDADO", del tipo "FileWriter". Para ello, capturamos todo el texto que exista en el "TextArea" colocando el nombre de la variable de la misma seguido de ".getText()".

- GUARDADO.close()

    Cerramos la variable "GUARDADO" para que no quede abierta.

- catch(IOException exp)

    En caso de que se produzca una excepción del tipo entrada y salida (Input-Output, de ahi las siglas IO), la capturamos y almacenamos en la variable llamada "exp".

- System.out.println(exp)

    Obtenemos la captura de la excepción y la mostramos por pantalla, usando la pantalla que tiene forma de DOS para que el programa sea más agradable a la vista del usuario y no se alarme por cualquier error diminuto que se produzca.

    Bueno, este es el método para guardar lo que hemos escrito en un "TextArea", y es sencillo de implementar a un Frame, solo debemos colocar este método dentro de la clase y fuera del principal (método main), y luego lo llamamos al momento de seleccionar la opción desde el menú desplegable.