En este tutorial, aprenderemos sobre Java PrintWriter y sus métodos print () y printf () con la ayuda de ejemplos.
La PrintWriter
clase del java.io
paquete 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, PrintWriter
convierte los datos primitivos ( int
, float
, char
, etc.) en el formato de texto. Luego escribe esos datos formateados en el escritor.
Además, la PrintWriter
clase 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 PrintWriter
clase 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.PrintWriter
primero 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, PrintWriter
escribe 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 PrintWriter
clase proporciona varios métodos que nos permiten imprimir datos en la salida.
método print ()
print()
- imprime los datos especificados al escritorprintln()
- 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
%d
añ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).