Classe Java PrintStream
Classe Java PrintStream
Neste tutorial, aprenderemos sobre a classe Java PrintStream e seus métodos print() e printf() com a ajuda de exemplos.
O PrintStream
classe do java.io
O pacote pode ser usado para gravar dados de saída em formato comumente legível (texto) em vez de bytes.
Ele estende a classe abstrata OutputStream
.
Funcionamento do PrintStream
Ao contrário de outros fluxos de saída, o
PrintStream
converte os dados primitivos (inteiro, caractere) no formato de texto em vez de bytes. Em seguida, ele grava esses dados formatados no fluxo de saída. E também, o
PrintStream
class não lança nenhuma exceção de entrada/saída. Em vez disso, precisamos usar o checkError()
método para encontrar qualquer erro nele. Observação :O
PrintStream
classe também tem um recurso de lavagem automática. Isso significa que força o fluxo de saída a gravar todos os dados no destino sob uma das seguintes condições:- se caractere de nova linha
\n
é escrito no fluxo de impressão - se o
println()
método é invocado - se uma matriz de bytes for gravada no fluxo de impressão
Criar um PrintStream
Para criar um
PrintStream
, devemos importar o java.io.PrintStream
pacote primeiro. Uma vez que importamos o pacote, aqui é como podemos criar o fluxo de impressão. 1. Usando outros fluxos de saída
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);
Aqui,
- criamos um fluxo de impressão que gravará dados formatados no arquivo representado por
FileOutputStream
- o autoFlush é um parâmetro booleano opcional que especifica se deve ou não realizar a descarga automática
2. Usando nome de arquivo
// Creates a PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);
Aqui,
- criamos um fluxo de impressão que gravará dados formatados no arquivo especificado
- autoFlush é um parâmetro booleano opcional que especifica se deve ser executado o autoflush ou não
Observação :em ambos os casos, o
PrintStream
gravar dados no arquivo usando alguma codificação de caracteres padrão. No entanto, podemos especificar a codificação de caracteres (UTF8 ou UTF16 ) também.
// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Aqui, usamos o
Charset
class para especificar a codificação de caracteres. Para saber mais, visite Java Charset (documentação oficial do Java). Métodos de PrintStream
O
PrintStream
class fornece vários métodos que nos permitem imprimir dados na saída. Método print()
print()
- imprime os dados especificados no fluxo de saídaprintln()
- imprime os dados no fluxo de saída junto com um novo caractere de linha no final
Exemplo:método print() com classe System
class Main {
public static void main(String[] args) {
String data = "Hello World.";
System.out.print(data);
}
}
Saída
Hello World.
No exemplo acima, não criamos um fluxo de impressão. No entanto, podemos usar o
print()
método do PrintStream
classe. Você deve estar se perguntando como isso é possível. Bem, deixe-me explicar o que está acontecendo aqui.
Observe a linha,
System.out.print(data);
Aqui,
System
é uma classe final que é responsável por realizar a operação padrão de entrada/saídaout
é uma variável de classe dePrintStream
tipo declarado emSystem
aula
Agora desde
out
é de PrintStream
tipo, podemos usá-lo para chamar todos os métodos de PrintStream
classe. Exemplo:método print() com classe 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();
}
}
}
No exemplo acima, criamos um fluxo de impressão chamado output . O fluxo de impressão está vinculado ao output.txt Arquivo.
PrintStream output = new PrintStream("output.txt");
Para imprimir dados no arquivo, usamos o
print()
método. Aqui, quando executamos o programa, o output.txt arquivo é preenchido com o seguinte conteúdo.
This is a text inside the file.
Método printf()
O
printf()
pode ser usado para imprimir a string formatada. Inclui 2 parâmetros:string formatada e argumentos. Por exemplo,
printf("I am %d years old", 25);
Aqui,
- Tenho %d anos é uma string formatada
- %d são dados inteiros na string formatada
- 25 é um argumento
A string formatada inclui texto e dados. E os argumentos substituem os dados dentro da string formatada.
Daí o %d é substituído por 25 .
Exemplo: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();
}
}
}
No exemplo acima, criamos um fluxo de impressão chamado output . O fluxo de impressão está vinculado ao arquivo output.txt .
PrintStream output = new PrintStream("output.txt");
Para imprimir o texto formatado no arquivo, usamos o
printf()
método. Aqui, quando executamos o programa, o output.txt arquivo é preenchido com o seguinte conteúdo.
I am 25 years old.
Outros métodos de PrintStream
Métodos | Descrições |
---|---|
close() | fecha o fluxo de impressão |
checkError() | verifica se há um erro no fluxo e retorna um resultado booleano |
append() | anexa os dados especificados ao fluxo |
Para saber mais, visite Java PrintStream (documentação oficial do Java).
Java