Neste tutorial, aprenderemos sobre Java PrintWriter e seus métodos print () e printf () com a ajuda de exemplos.
A PrintWriter
classe do java.io
pacote pode ser usada para gravar dados de saída em um formato comumente legível (texto).
Ele estende a classe abstrata Writer
.
Trabalho de PrintWriter
Ao contrário de outros escritores, PrintWriter
converte os dados primitivos ( int
, float
, char
, etc.) para o formato de texto. Em seguida, ele grava esses dados formatados no gravador.
Além disso, a PrintWriter
classe 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 : a PrintWriter
classe também possui um recurso de descarga automática. Isso significa que força o gravador a gravar todos os dados no destino se um dos métodos println()
ou printf()
for chamado.
Crie um PrintWriter
Para criar um escritor de impressão, devemos importar o java.io.PrintWriter
pacote primeiro. Depois de importar o pacote, aqui está como podemos criar o escritor de impressão.
1. Usando outros escritores
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Aqui,
- criamos um gravador de impressão que gravará dados no arquivo representado pelo
FileWriter
- autoFlush é um parâmetro opcional que especifica se deve ser realizada a descarga automática ou não
2. Usando outros fluxos de saída
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Aqui,
- criamos um gravador de impressão que gravará dados no arquivo representado pelo
FileOutputStream
- o autoFlush é um parâmetro opcional que especifica se deve ser realizada a descarga automática ou não
3. Usando o nome do arquivo
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Aqui,
- criamos um gravador de impressão que irá gravar dados no arquivo especificado
- o autoFlush é um parâmetro booleano opcional que especifica se deve ser realizada a descarga automática ou nem
Nota : Em todos os casos acima, o PrintWriter
grava dados no arquivo usando alguma codificação de caracteres padrão. No entanto, também podemos especificar a codificação de caracteres ( UTF8 ou UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Aqui, usamos a classe Charset para especificar a codificação de caracteres. Para saber mais, visite Java Charset (documentação oficial do Java).
Métodos de PrintWriter
A PrintWriter
classe fornece vários métodos que nos permitem imprimir dados na saída.
Método print ()
print()
- imprime os dados especificados para o escritorprintln()
- imprime os dados para o escritor junto com um novo caractere de linha no final
Por exemplo,
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(); ) ) )
No exemplo acima, criamos um escritor de impressão chamado output. Este escritor de impressão está vinculado ao arquivo output.txt .
PrintWriter output = new PrintWriter("output.txt");
Para imprimir dados no arquivo, usamos o print()
método.
Aqui, quando executamos o programa, o arquivo output.txt é preenchido com o seguinte conteúdo.
This is a text inside the file.
Método printf ()
O printf()
método 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,
- Eu 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.
Portanto, o % d é substituído por 25 .
Exemplo: 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(); ) ) )
No exemplo acima, criamos um escritor de impressão chamado output. O gravador de impressão está vinculado ao arquivo output.txt .
PrintWriter output = new PrintWriter("output.txt");
Para imprimir o texto formatado no arquivo, usamos o printf()
método.
Aqui, quando executamos o programa, o arquivo output.txt é preenchido com o seguinte conteúdo.
I am 25 years old.
Outros métodos de PrintWriter
Método | Descrição |
---|---|
close() | fecha o escritor de impressão |
checkError() | verifica se há um erro no gravador e retorna um resultado booleano |
append() | anexa os dados especificados ao gravador |
Para saber mais, visite Java PrintWriter (documentação oficial do Java).