Класс Scanner в языке программирования Java
Класс Scanner — это дополнение к классу Formatter. Объекты класса
Scanner читают
форматированный ввод и преобразуют его в двоичное представление. Они могут использоваться для чтения данных
с консоли, из файла, строки или любого другого источника, реализующего
Интерфейсы Readable (добавленный в Java 2 версии 5.0)
или ReadabieByteChannei. Например, можно применять класс scanner для чтения
числа, введенного с клавиатуры и присваивания
этого значения переменной. Хотя такие операции всегда были возможны,
класс scanner существенно упрощает этот процесс. Как Вы увидите, класс scanner, несмотря на
свои богатые функциональные возможности,
очень прост в использовании.
Класс scanner включен в пакет
java.util.
В классе Scanner определены конструкторы,
перечисленные в табл. 1.0. Как правило, объект типа Scanner может быть создан для объектов
типа String, InputStream или любого
другого типа, реализующего интерфейсы Readable или ReadabieByteChannel.
В приведенном
далее фрагменте создается объект класса scanner, который читает файл Test.txt:
FileReader fin = new FileReader("Test.txt";
Scanner src = new Scanner(fin);
Этот код
выполняется, поскольку класс FileReader реализует интерфейс Readable. Таким образом,
вызов конструктора разрешается для Scanner (Readable).
В следующей строке создается
объект класса scanner, который читает
из стандартного потока ввода, по умолчанию с клавиатуры:
Scanner conin = new Scanner(System.in);
Приведенный код— действующий, так как System.in— объект типа InputStream. Следовательно,
вызов конструктора отображается в Scanner (input stream) .
Таблица 1.0. Конструкторы класса scanner
Метод
|
Описание
|
static Scanner
create(File from) throws FileNotFoundException
|
Создает объект типа scanner, который использует
файл, заданный параметром from как источник входных данных
|
static Scanner create(File from, String charset)
|
Создает объект типа scanner, который использует как источник входных данных поток,
заданный параметром from с кодировкой, заданной
параметром charset
|
Scanner(InputStream
from, String charset)
|
Создает обьект типа Scanner, который использует
поток, заданный параметром from как источник входных
данных
|
Scanner(Readable
from)
|
Создает объект типа Scanner, который использует объект, реализующий интерфейс Readable и заданный параметром from как источник входных данных
|
Scanner(ReadableByteChannel
from)
|
Создает обьект типа Scanner, который использует
объект, реализующий интерфейс ReadableByteChannel и заданный параметром from как источник входных данных
|
Scanner(ReadableByteChannel
from, String charset)
|
Создает объект типа Scanner, который использует
объект, реализующий интерфейс ReadableByteChannel и заданный параметром from как источник входных данных
|
Scanner(ReadableByteChannel
from, String charset)
|
Создает объект типа Scanner, который использует как источник входных данных объект,
реализующий интерфейс ReadableByteChannel и заданный параметром from , с кодировкой,
указанной в параметре charset
|
Scanner(String from)
|
Создает объект типа scanner, который использует строку, заданную параметром from как источник входных
данных
|
В следующем фрагменте создается объект
типа scanner, который читает данные из строки:
String instr = "10 99.88 scanning is easy.";
Scanner conin = new Scanner(instr);
|