Java PrintWriter (con ejemplos)

En este tutorial, aprenderemos sobre Java PrintWriter y sus métodos print () y printf () con la ayuda de ejemplos.

La PrintWriterclase del java.iopaquete se puede usar para escribir datos de salida en una forma comúnmente legible (texto).

Extiende la clase abstracta Writer.

Trabajo de PrintWriter

A diferencia de otros escritores, PrintWriterconvierte los datos primitivos ( int, float, char, etc.) en el formato de texto. Luego escribe esos datos formateados en el escritor.

Además, la PrintWriterclase no lanza ninguna excepción de entrada / salida. En su lugar, necesitamos usar el checkError()método para encontrar cualquier error en él.

Nota : La PrintWriterclase también tiene una función de descarga automática. Esto significa que obliga al escritor a escribir todos los datos en el destino si se llama a uno de los métodos println()o printf().

Crear un PrintWriter

Para crear un escritor de impresión, java.io.PrintWriterprimero debemos importar el paquete. Una vez que importamos el paquete, aquí es cómo podemos crear el escritor de impresión.

1. Usar otros escritores

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Aquí,

  • hemos creado un escritor de impresión que escribirá datos en el archivo representado por el FileWriter
  • autoFlush es un parámetro opcional que especifica si se debe realizar el lavado automático o no

2. Usar otras corrientes de salida

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Aquí,

  • hemos creado un escritor de impresión que escribirá datos en el archivo representado por el FileOutputStream
  • el autoFlush es un parámetro opcional que especifica si se debe realizar el lavado automático o no

3. Usando el nombre de archivo

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Aquí,

  • hemos creado un escritor de impresión que escribirá datos en el archivo especificado
  • el autoFlush es un parámetro booleano opcional que especifica si se debe realizar el lavado automático o no

Nota : En todos los casos anteriores, PrintWriterescribe datos en el archivo utilizando alguna codificación de caracteres predeterminada. Sin embargo, también podemos especificar la codificación de caracteres ( UTF8 o UTF16 ).

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Aquí, hemos utilizado la clase Charset para especificar la codificación de caracteres. Para saber más, visite Java Charset (documentación oficial de Java).

Métodos de PrintWriter

La PrintWriterclase proporciona varios métodos que nos permiten imprimir datos en la salida.

método print ()

  • print() - imprime los datos especificados al escritor
  • println() - imprime los datos al escritor junto con un carácter de nueva línea al final

Por ejemplo,

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

En el ejemplo anterior, hemos creado un escritor de impresión llamado salida. Este escritor de impresión está vinculado con el archivo output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Para imprimir datos en el archivo, hemos utilizado el print()método.

Aquí, cuando ejecutamos el programa, el archivo output.txt se llena con el siguiente contenido.

 This is a text inside the file. 

Método printf ()

El printf()método se puede utilizar para imprimir la cadena formateada. Incluye 2 parámetros: cadena formateada y argumentos. Por ejemplo,

 printf("I am %d years old", 25); 

Aquí,

  • Tengo %daños es una cadena formateada
  • %d son datos enteros en la cadena formateada
  • 25 es un argumento

La cadena formateada incluye tanto texto como datos. Y los argumentos reemplazan los datos dentro de la cadena formateada.

Por tanto, % d se sustituye por 25 .

Ejemplo: método printf () usando PrintWriter

 import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

En el ejemplo anterior, hemos creado un escritor de impresión llamado salida. El escritor de impresión está vinculado con el archivo output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Para imprimir el texto formateado en el archivo, hemos utilizado el printf()método.

Aquí, cuando ejecutamos el programa, el archivo output.txt se llena con el siguiente contenido.

 I am 25 years old. 

Otros métodos de PrintWriter

Método Descripción
close() cierra el escritor de impresión
checkError() comprueba si hay un error en el escritor y devuelve un resultado booleano
append() agrega los datos especificados al escritor

Para obtener más información, visite Java PrintWriter (documentación oficial de Java).

Articulos interesantes...