Государственный



бет8/25
Дата05.04.2024
өлшемі4.07 Mb.
#497748
1   ...   4   5   6   7   8   9   10   11   ...   25
Java. Потоки ввода-вывода. Работа с файлами. Кравчук А.С., Кравчук А.И., Кремень Е.В

Класс Scanner


Рассмотрим подробно класс Scanner, хотя им уже многократно пользовались для ввода данных. Он предназначен для извлечения информации практически из любых источников.
Scanner разбивает входные данные на токены (лексемы), используя шаблон разделителя, который по умолчанию соответствует пробелу. Полученные токены могут быть затем преобразованы в значения различных типов с использованием различных next-методов.
Некоторые конструкторы класса:

  • Scanner(String source)

  • Scanner(InputStream source)

  • Scanner(InputStream source, String charsetName)

  • Scanner(InputStream source, Charset charset)

  • Scanner(File source)

  • Scanner(File source, String charsetName)

  • Scanner(File source, Charset charset)

  • Scanner(Readable source)

  • Scanner(Path source)

  • Scanner(Path source, String charset)

  • Scanner(Path source, Charset charset)

где source - источник входных данных, charset - кодировка источника, а charsetName тип кодировки, используемый для преобразования байтов из потока в символы для сканирования.
Объект класса Scanner читает наборы символов (токены или лексемы) с набором разделителей из источника, указанного в конструкторе.
«По умолчанию» набором разделителей являются пробельные символы, а для строк – символ перевода на следующую строку.
Формат создания объекта класса Scanner:

Scanner ОбъектСканера = new Scanner(ИницОбъект);




Пример.

Scanner console = new Scanner(System.in);


Scanner поддерживает чтение токенов типа String, всех примитивных типов языка Java (кроме char), а также BigInteger и BigDecimal. Кроме того, числовые значения могут использовать разделители тысяч. Таким образом, в US-локали будет правильно читается строка "1 237 712" как представляющая целочисленное значение.


Методов у класса Scanner очень много, но можно по частоте использования в учебных программах выделить следующие две группы методов.
Первую группу составляют методы, сначала пропускающие все входные данные, соответствующие шаблону разделителя, а затем считывающие очередной токен из потока или объекта ИницОбъект, с которым связан объект сканера ОбъектСканера, и преобразующие его в данное определенного типа:
1   ...   4   5   6   7   8   9   10   11   ...   25




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет