Java FileWriter (con ejemplos)

En este tutorial, aprenderemos sobre Java FileWriter y sus métodos con la ayuda de ejemplos.

La FileWriterclase del java.iopaquete se puede utilizar para escribir datos (en caracteres) en archivos.

Extiende la OutputStreamWriterclase.

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.FileWriterprimero 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 Charsetclase para especificar la codificación de caracteres del escritor de archivos.

Métodos de FileWriter

La FileWriterclase proporciona implementaciones para diferentes métodos presentes en la Writerclase.

método de escritura

  • write() - escribe un solo carácter al escritor
  • write(char() array) - escribe los caracteres de la matriz especificada al escritor
  • write(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).

Articulos interesantes...