"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Usando os fluxos baseados em caracteres da linguagem Java

Usando os fluxos baseados em caracteres da linguagem Java

Publicado em 2024-11-10
Navegar:441

Para realizar operações de I/O com base em caracteres, o Java fornece uma hierarquia própria de fluxos baseados em caracteres, com classes abstratas como Reader e Writer. Essas classes permitem a leitura e escrita diretamente de caracteres, sendo mais adequadas para dados de texto do que os fluxos de bytes. Os métodos principais dessas classes lidam com operações de leitura e escrita e podem lançar IOException em caso de erro.

Estrutura de Fluxos de Caracteres

Classes Abstratas Principais:

  • Reader: Base para leitura de caracteres.
  • Writer: Base para escrita de caracteres.

Essas classes formam a estrutura mínima de operações de I/O para fluxos de caracteres, com métodos aplicáveis a todas as subclasses.

Entrada do Console com Fluxos de Caracteres
Para programas internacionalizados ou que manipulam texto, é preferível ler caracteres do console usando fluxos de caracteres. Como System.in é um fluxo de bytes, ele precisa ser adaptado para fluxos de caracteres.

Para isso, usamos:

  • InputStreamReader: Converte bytes para caracteres.
  • BufferedReader: Melhora a eficiência ao armazenar a entrada em buffer.

Exemplo de Leitura de Entrada do Console
Para ler a entrada do console com BufferedReader, primeiramente, convertemos System.in em um fluxo de caracteres usando InputStreamReader:

import java.io.*;

public class ConsoleReaderExample {
  public static void main(String args[]) {
    try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
      System.out.print("Digite uma linha de texto: ");
      String linha = reader.readLine();
      System.out.println("Você digitou: "   linha);
    } catch(IOException e) {
      System.out.println("Erro de entrada/saída: "   e);
    }
  }
}

Explicação do Código

  • InputStreamReader: Converte o fluxo de bytes de System.in para um fluxo de caracteres.
  • BufferedReader: Utilizado para leitura eficiente de caracteres, strings e linhas.

Vantagens dos Fluxos de Caracteres

  • Internacionalização: Compatíveis com diferentes conjuntos de caracteres.
  • Eficiência: BufferedReader permite ler uma linha inteira de uma vez, simplificando o processo e reduzindo chamadas de sistema.

Esses fluxos de caracteres facilitam o tratamento de textos e são ideais para entrada de dados e manipulação de arquivos em que caracteres e texto são o foco principal.

Usando os fluxos baseados em caracteres da linguagem Java

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/devsjavagirls/usando-os-fluxos-baseados-em-caracteres-da-linguagem-java-2b22?1 Caso haja alguma infração, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3