English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Java controle de fluxo

Java array

Java orientação a objetos (I)

Java orientação a objetos (II)

Java orientação a objetos (III)

Tratamento de Exceções Java

Java lista (List)

Java fila (Queue)

Java conjuntos Map

Java conjuntos Set

Java entrada e saída (I/O)

Java Reader/Writer

Outros tópicos Java

Classe Java PrintStream

Neste tutorial, vamos aprender através de exemplos a classe Java PrintStream e seus métodos print() e printf().

A classe PrintStream do pacote java.io pode ser usada para escrever dados de saída em formato legível (texto) em vez de bytes.

Ele herdou a classe abstrata OutputStream.

Introdução ao PrintStream

Diferente dos outros fluxos de saída, o PrintStream converte dados originais (inteiros, caracteres) em formato de texto em vez de bytes. Em seguida, ele escreve dados formatados no fluxo de saída.

E a classe PrintStream não lança nenhuma entrada/Exceção de saída. Em vez disso, precisamos usar o método checkError() para encontrar quaisquer erros.

Atenção:A classe PrintStream também possui a função de escoamento automático. Isso significa que ela forçará o fluxo de saída a escrever todos os dados no destino nas seguintes situações:

  • Se o caractere de nova linha \n for escrito no fluxo de impressão

  • Se o método println() for chamado

  • Se escrevermos um array de bytes no fluxo de impressão

Criar um PrintStream

Para criar um PrintStream,我们必须 primeiro importar o pacote java.io.PrintStream. Após a importação do pacote, podemos criar o fluxo de impressão aqui.

1.usando outro fluxo de saída

//Criar um FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
//Criar um PrintStream
PrintStream output = new PrintStream(file, autoFlush);

);

  • Já criamos um fluxo de impressão que escreve dados formatados no arquivo representado por FileOutputStream

  • autoFlush é um parâmetro booleano opcional, usado para especificar se deve ser executado o escoamento automático

2.usando o nome do arquivo

 //Criar um PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);

);

  • Criamos um fluxo de impressão que escreve dados formatados no arquivo especificado

  • autoFlush é um parâmetro booleano opcional, usado para especificar se deve ser executado o escoamento automático

Atenção:Nesses dois casos, o PrintStream usa alguns códigos de caracteres padrão para escrever dados no arquivo. Mas, também podemos especificar o código de caracteres (UTF8ou UTF16)。

//Usar uma certaina codificação de caracteres para criar um PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);

在这里,我们使用Charset该类来指定字符编码。

Aqui, usamos a classe Charset para especificar a codificação de caracteres.

Métodos da PrintStream

A classe PrintStream oferece várias métodos que nos permitem imprimir a saída dos dados.

  • método print() - print()

  • Imprimir dados especificados no fluxo de saída - println()

Imprimir dados e o caractere de nova linha no fluxo de saída

class Main {
    public static void main(String[] args) {
        Exemplo
        Atenção a esta linha,
    }
}

String data = "Olá Mundo.";

Resultados de saída

Olá Mundo.

No exemplo acima, ainda não criamos o fluxo de impressão. Mas podemos usar o método print() da classe PrintStream.

Você pode se perguntar como isso é possível. Bem, deixe-me explicar o que acontece aqui.

Atenção a esta linha,

);

  • System.out.print(data);/System é responsável por executar entrada padrão

  • classe final para operações de saída

out é uma variável de classe do tipo PrintStream declarada na classe System

Agora, devido a out ser do tipo PrintStream, podemos usar ele para chamar todos os métodos da classe PrintStream.

import java.io.PrintStream;
class Main {
    public static void main(String[] args) {
        Exemplo: método print() da classe PrintStream
        try {
            PrintStream output = new PrintStream("output.txt");
            String data = "Este é um texto dentro do arquivo.";
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

output.print(data);output.txtNo exemplo acima, criamos um fluxo de impressão chamado output. O fluxo de impressão com

PrintStream output = new PrintStream("output.txt");

ligação de arquivo.

Aqui, quando executamos o programaoutput.txtO arquivo será preenchido com o seguinte conteúdo.

Para imprimir dados no arquivo, usamos o método print().

Este é um texto dentro do arquivo.

método printf()2printf() método pode ser usado para imprimir strings formatadas. Ele contém

um parâmetro: a string formatada e os parâmetros. Por exemplo, 25printf("Eu sou %d anos",

);

  • aqui, - Eu tenho %d anos

  • É uma string formatada

  • 25%d é um dado inteiro na string formatada

É um parâmetro

Portanto, uma string formatada inclui texto e dados. Além disso, os parâmetros substituem os dados na string formatada.%d substituído por 25.

Exemplo: uso do método printf() do 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("Eu sou %d anos velho.", age);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

No exemplo acima, criamos um fluxo de impressão chamado output. O fluxo de impressão é semelhante ao arquivooutput.txtLink.

PrintStream output = new PrintStream("output.txt");

Para imprimir o texto formatado no arquivo, usamos o método printf().

Aqui, quando executamos o programaoutput.txtO arquivo será preenchido com o seguinte conteúdo.

Eu sou 25 anos velho.

Outros Métodos de PrintStream

MétodoDescrição do Conteúdo
close()Fechar o fluxo de impressão
checkError()Verificar se há erros no fluxo e retornar um resultado booleano
append()Adicionar os dados especificados ao fluxo