Java PrintWriter (com exemplos)

Neste tutorial, aprenderemos sobre Java PrintWriter e seus métodos print () e printf () com a ajuda de exemplos.

A PrintWriterclasse do java.iopacote 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, PrintWriterconverte 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 PrintWriterclasse 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 PrintWriterclasse 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.PrintWriterpacote 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 PrintWritergrava 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 PrintWriterclasse fornece vários métodos que nos permitem imprimir dados na saída.

Método print ()

  • print() - imprime os dados especificados para o escritor
  • println() - 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 %danos é 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).

Artigos interessantes...