«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Использование символьных потоков языка Java

Использование символьных потоков языка Java

Опубликовано 10 ноября 2024 г.
Просматривать:137

Для выполнения символьных операций ввода-вывода Java предоставляет собственную иерархию символьных потоков с абстрактными классами, такими как Reader и Writer. Эти классы позволяют напрямую читать и записывать символы, что делает их более подходящими для текстовых данных, чем для потоков байтов. Основные методы этих классов обрабатывают операции чтения и записи и могут генерировать IOException в случае ошибки.

Структура потока персонажей

Основные абстрактные классы:

  • Читатель: База для чтения символов.
  • Писатель: База для написания символов.

Эти классы образуют минимальную структуру операций ввода-вывода для символьных потоков с методами, применимыми ко всем подклассам.

Консольный ввод с потоками символов
Для интернационализированных программ или программ, манипулирующих текстом, предпочтительнее считывать символы с консоли с помощью потоков символов. Поскольку System.in представляет собой поток байтов, его необходимо адаптировать для потоков символов.

Для этого мы используем:

  • InputStreamReader: преобразует байты в символы.
  • BufferedReader: повышает эффективность за счет буферизации ввода.

Пример ввода данных в консоль
Чтобы прочитать ввод консоли с помощью BufferedReader, мы сначала преобразуем System.in в поток символов, используя 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);
    }
  }
}

Пояснение кода

  • InputStreamReader: преобразует поток байтов из System.in в поток символов.
  • BufferedReader: используется для эффективного чтения символов, строк и строк.

Преимущества последовательностей символов

  • Интернационализация: совместимость с различными наборами символов.
  • Эффективность: BufferedReader позволяет читать всю строку сразу, упрощая процесс и сокращая системные вызовы.

Эти потоки символов упрощают обработку текста и идеально подходят для ввода данных и манипулирования файлами, где основное внимание уделяется символам и тексту.

Usando os fluxos baseados em caracteres da linguagem Java

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/devsjavagirls/usando-os-fluxos-baseados-em-caracteres-da-linguagem-java-2b22?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3