Clase Java PrintStream
Clase PrintStream de Java
En este tutorial, aprenderemos sobre la clase Java PrintStream y sus métodos print() y printf() con la ayuda de ejemplos.
El PrintStream
clase de los java.io
El paquete se puede usar para escribir datos de salida en forma comúnmente legible (texto) en lugar de bytes.
Extiende la clase abstracta OutputStream
.
Funcionamiento de PrintStream
A diferencia de otros flujos de salida, el PrintStream
convierte los datos primitivos (entero, carácter) en formato de texto en lugar de bytes. Luego escribe esos datos formateados en el flujo de salida.
Y también, el PrintStream
la 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 :El PrintStream
La clase también tiene una característica de lavado automático. Esto significa que obliga al flujo de salida a escribir todos los datos en el destino bajo una de las siguientes condiciones:
- si el carácter de nueva línea
\n
está escrito en el flujo de impresión - si el
println()
se invoca el método - si se escribe una matriz de bytes en el flujo de impresión
Crear un flujo de impresión
Para crear un PrintStream
, debemos importar el java.io.PrintStream
paquete primero. Una vez que importamos el paquete, aquí es cómo podemos crear el flujo de impresión.
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);
Aquí,
- hemos creado un flujo de impresión que escribirá datos formateados en el archivo representado por
FileOutputStream
- el descarga automática es un parámetro booleano opcional que especifica si se debe realizar el vaciado automático o no
// Creates a PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);
Aquí,
- hemos creado un flujo de impresión que escribirá datos formateados en el archivo especificado
- descarga automática es un parámetro booleano opcional que especifica si se debe realizar o no el autodescarga
Nota :En ambos casos, el PrintStream
escribir datos en el archivo utilizando alguna codificación de caracteres predeterminada. Sin embargo, podemos especificar la codificación de caracteres (UTF8 o UTF16 ) también.
// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Aquí, hemos usado el Charset
class para especificar la codificación de caracteres. Para obtener más información, visite Java Charset (documentación oficial de Java).
Métodos de PrintStream
El PrintStream
La clase proporciona varios métodos que nos permiten imprimir datos en la salida.
método imprimir()
print()
- imprime los datos especificados en el flujo de salidaprintln()
- imprime los datos en el flujo de salida junto con un nuevo carácter de línea al final
Ejemplo:método print() con clase System
class Main {
public static void main(String[] args) {
String data = "Hello World.";
System.out.print(data);
}
}
Salida
Hello World.
En el ejemplo anterior, no hemos creado un flujo de impresión. Sin embargo, podemos usar el print()
método del PrintStream
clase.
Tal vez se pregunte cómo es esto posible. Bueno, déjame explicarte lo que está pasando aquí.
Fíjate en la línea,
System.out.print(data);
Aquí,
System
es una clase final que es responsable de realizar la operación de entrada/salida estándarout
es una variable de clase dePrintStream
tipo declarado enSystem
clase
Ahora desde out
es de PrintStream
type, podemos usarlo para llamar a todos los métodos de PrintStream
clase.
Ejemplo:método print() con clase PrintStream
import java.io.PrintStream;
class Main {
public static void main(String[] args) {
String data = "This is a text inside the file.";
try {
PrintStream output = new PrintStream("output.txt");
output.print(data);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
En el ejemplo anterior, hemos creado un flujo de impresión llamado salida . El flujo de impresión está vinculado con output.txt archivo.
PrintStream output = new PrintStream("output.txt");
Para imprimir datos en el archivo, hemos utilizado el print()
método.
Aquí, cuando ejecutamos el programa, el output.txt El archivo está lleno con el siguiente contenido.
This is a text inside the file.
método printf()
El printf()
El 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 texto y datos. Y, los argumentos reemplazan los datos dentro de la cadena formateada.
De ahí el %d se reemplaza por 25 .
Ejemplo:método printf() usando PrintStream
import java.io.PrintStream;
class Main {
public static void main(String[] args) {
try {
PrintStream output = new PrintStream("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 flujo de impresión llamado salida . El flujo de impresión está vinculado con el archivo output.txt .
PrintStream output = new PrintStream("output.txt");
Para imprimir el texto formateado en el archivo, hemos utilizado el printf()
método.
Aquí, cuando ejecutamos el programa, el output.txt El archivo está lleno con el siguiente contenido.
I am 25 years old.
Otros métodos de PrintStream
Métodos | Descripciones |
---|---|
close() | cierra el flujo de impresión |
checkError() | comprueba si hay un error en la transmisión y devuelve un resultado booleano |
append() | añade los datos especificados a la transmisión |
Para obtener más información, visite Java PrintStream (documentación oficial de Java).
Java