Classe Java PrintWriter
Classe Java PrintWriter
Neste tutorial, aprenderemos sobre o Java PrintWriter e seus métodos print() e printf() com a ajuda de exemplos.
O PrintWriter
classe do java.io
pacote pode ser usado para gravar dados de saída em um formato comumente legível (texto).
Ele estende a classe abstrata Writer
.
Trabalho do 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, o
PrintWriter
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
PrintWriter
classe também tem um recurso de lavagem automática. Isso significa que força o gravador a gravar todos os dados no destino se um dos println()
ou printf()
métodos é chamado. Criar um PrintWriter
Para criar um gravador de impressão, devemos importar o
java.io.PrintWriter
pacote primeiro. Uma vez que importamos o pacote, aqui é como podemos criar o gravador 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 ou não realizar a descarga automática
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 ou não realizar a descarga automática
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 gravará dados no arquivo especificado
- o autoFlush é um parâmetro booleano opcional que especifica se deve executar a limpeza automática ou nem
Observação :Em todos os casos acima, o
PrintWriter
grava 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 PrintWriter using some character encoding
PrintWriter output = new PrintWriter(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 PrintWriter
O
PrintWriter
class fornece vários métodos que nos permitem imprimir dados na saída. Método print()
print()
- imprime os dados especificados para o gravadorprintln()
- 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 gravador de impressão chamado output . Este gravador 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 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,
- Sou
%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 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 gravador 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 output.txt arquivo é preenchido com o seguinte conteúdo.
I am 25 years old.
Outros métodos de PrintWriter
Método | Descrição |
---|---|
close() | fecha o gravador 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).
Java