Для выполнения символьных операций ввода-вывода Java предоставляет собственную иерархию символьных потоков с абстрактными классами, такими как Reader и Writer. Эти классы позволяют напрямую читать и записывать символы, что делает их более подходящими для текстовых данных, чем для потоков байтов. Основные методы этих классов обрабатывают операции чтения и записи и могут генерировать IOException в случае ошибки.
Структура потока персонажей
Основные абстрактные классы:
Эти классы образуют минимальную структуру операций ввода-вывода для символьных потоков с методами, применимыми ко всем подклассам.
Консольный ввод с потоками символов
Для интернационализированных программ или программ, манипулирующих текстом, предпочтительнее считывать символы с консоли с помощью потоков символов. Поскольку System.in представляет собой поток байтов, его необходимо адаптировать для потоков символов.
Для этого мы используем:
Пример ввода данных в консоль
Чтобы прочитать ввод консоли с помощью 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); } } }
Пояснение кода
Преимущества последовательностей символов
Эти потоки символов упрощают обработку текста и идеально подходят для ввода данных и манипулирования файлами, где основное внимание уделяется символам и тексту.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3