O que é a classe PrintWriter em Java?
Por que usar PrintWriter se outros OutputStreams estiverem disponíveis?
A prática mais comum para imprimir dados no console é usar o método System.out.print . No entanto, é mais fácil personalizar o formato de acordo com a localidade especificada (padrões regionais) ao publicar aplicativos globais usando o objeto PrintWriter . Podemos analisar o uso de Locale de acordo com seu sistema mais adiante nesta postagem.Como usar a classe PrintWriter?
Para usar o PrintWriter , você precisa importar a classe java.io.PrintWriter . Depois de inicializar seu objeto, você pode usá-lo para escrever no console ou no arquivo de acordo com suas necessidades. Vejamos as duas formas de inicialização da classe PrintWriter para o console e o arquivo. Existem vários construtores diferentes presentes. Mas aqui vamos apresentar a você os mais simples, para começar.Saída do console com PrintWriter
A seguir está um objeto PrintWrtier para imprimir texto no console.PrintWriter consoleOutput = new PrintWriter(System.out);
Aqui, o objeto System.out é passado para o construtor para gravação no console.
Saída de arquivo com PrintWriter
Aqui está o objeto PrintWriter para escrever texto no arquivo.PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
Esse construtor usa uma entrada String como o nome do arquivo. Cria um arquivo com o nome especificado e grava os dados de texto nele.
Métodos da classe PrintWriter
A classe Java PrintWriter vem com vários métodos úteis. É mais difícil engolir apenas alistando-os. Então, vamos ver cada um por exemplo. O que são e como podemos usá-los facilmente.Exemplo 1
Este exemplo demonstrará o uso do objeto PrintWriter para impressão no console.import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
// by importing the java.io.PrintWriter class
PrintWriter consoleOutput = new PrintWriter(System.out);
consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
consoleOutput.println("Hope you're having fun!");
consoleOutput.append("Patience is the key when learning new concepts.\n");
consoleOutput.append("It all boils down to practise and persistence. :)");
consoleOutput.flush();
consoleOutput.close();
}
}
Saída
Ei! Aqui é LUBAINA KHAN. Hoje você está explorando a classe PrinWriter com o Code Gym. Espero que você esteja se divertindo! Paciência é a chave ao aprender novos conceitos. Tudo se resume a prática e persistência. :)
Métodos usados da classe PrintWriter
printf(String str, Object arguments);
O método printf() assume o formato da string a ser impressa. Aqui, o espaço reservado %S é substituído pelo argumento em letras maiúsculas passado ao lado da string.
print(String str);
Este método imprimirá a string passada para ele usando o objeto PrintWriter .
println(String str);
Uma quebra de linha é impressa após o conteúdo da string.
append(CharSequence cs);
A Sequência de Caracteres passada para o acréscimo é adicionada ao objeto PrintWrtier .
flush();
Esvazia o conteúdo do objeto PrintWriter .
close();
Fecha o fluxo de gravação e libera todos os recursos alocados.
Exemplo 2
Este exemplo exibirá o uso da classe PrintWriter para gravar dados em um arquivo.import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
try {
// by importing the java.io.PrintWriter class
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());
fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
fileOutput.println("Hope Code Gym made it simpler for you to understand.");
fileOutput.append("One step at a time, and off you go!", 0, 35);
fileOutput.flush();
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Saída
Olá, que dia é hoje? Sun Jul 25 17:30:21 PKT 2021. Aqui está uma implementação da classe PrinWriter para gravação de arquivo. Hope Code Gym tornou mais simples para você entender. Um passo de cada vez, e pronto!
Métodos usados da classe PrintWriter
Vamos discutir os métodos usados para gravação de arquivo que são distintos da gravação no console.printf(Locale locale, String str, Object args);
Aqui você pode passar a localidade (usamos o padrão do sistema para coerência), você pode usar qualquer um de acordo com suas necessidades. Isso está em conformidade com qualquer formatação baseada em região. O restante da implementação é o mesmo usado anteriormente.
append(CharSequence cs, int beginningIndex, int endingIndex);
Você pode adicionar um pedaço do CharSequence passado especificando o índice inicial e final dele. Aqui usamos o último índice. Você pode brincar com ele para ver saídas diferentes.
try{
...
} catch (Exception e){
...
}
O bloco try-catch é obrigatoriamente utilizado na escrita do arquivo. É para evitar quaisquer exceções ao acessar (por exemplo, problemas de permissão) ou criar o arquivo no sistema.