En este tutorial, aprenderemos sobre Java FileWriter y sus métodos con la ayuda de ejemplos.
La FileWriter
clase del java.io
paquete se puede utilizar para escribir datos (en caracteres) en archivos.
Extiende la OutputStreamWriter
clase.
Antes de obtener más información FileWriter
, asegúrese de conocer Java File.
Crear un FileWriter
Para crear un escritor de archivos, Java.io.FileWriter
primero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear el escritor de archivos.
1. Usando el nombre del archivo
FileWriter output = new FileWriter(String name);
Aquí, hemos creado un escritor de archivos que se vinculará al archivo especificado por el nombre.
2. Usando un objeto del archivo
FileWriter input = new FileWriter(File fileObj);
Aquí, hemos creado un escritor de archivos que estará vinculado al archivo especificado por el objeto del archivo.
En el ejemplo anterior, los datos se almacenan utilizando alguna codificación de caracteres predeterminada.
Sin embargo, desde Java 11 también podemos especificar el tipo de codificación de caracteres ( UTF8 o UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Aquí, hemos utilizado la Charset
clase para especificar la codificación de caracteres del escritor de archivos.
Métodos de FileWriter
La FileWriter
clase proporciona implementaciones para diferentes métodos presentes en la Writer
clase.
método de escritura
write()
- escribe un solo carácter al escritorwrite(char() array)
- escribe los caracteres de la matriz especificada al escritorwrite(String data)
- escribe la cadena especificada al escritor
Ejemplo: FileWriter para escribir datos en un archivo
import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
En el ejemplo anterior, hemos creado un escritor de archivos llamado salida. El lector de salida está vinculado con el archivo output.txt .
FileWriter output = new FileWriter("output.txt");
Para escribir datos en el archivo, usamos el write()
método.
Aquí, cuando ejecutamos el programa, el archivo output.txt se llena con el siguiente contenido.
This is a line of text inside the file.
Método getEncoding ()
El getEncoding()
método se puede utilizar para obtener el tipo de codificación que se utiliza para escribir datos. Por ejemplo,
import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Salida
La codificación de caracteres de output1: Cp1252 La codificación de caracteres de output2: UTF8
En el ejemplo anterior, hemos creado 2 escritores de archivos denominados output1 y output2.
- output1 no especifica la codificación de caracteres. Por lo tanto, el
getEncoding()
método devuelve la codificación de caracteres predeterminada. - output2 especifica la codificación de caracteres, UTF8 . Por lo tanto, el
getEncoding()
método devuelve la codificación de caracteres especificada.
Nota : hemos utilizado el Charset.forName()
método para especificar el tipo de codificación de caracteres. Para obtener más información, visite Java Charset (documentación oficial de Java).
Método close ()
Para cerrar el escritor de archivos, podemos usar el close()
método. Una vez close()
que se llama al método, no podemos usar el escritor para escribir los datos.
Otros métodos de FileWriter
Método | Descripción |
---|---|
flush() | obliga a escribir todos los datos presentes en el escritor en el destino correspondiente |
append() | inserta el carácter especificado en el escritor actual |
Para obtener más información, visite Java FileWriter (documentación oficial de Java).