На этом шаге мы рассмотрим класс StringTokenizer
Класс StringTokenizer расположен в пакете java.util. Класс StringTokenizer используют для того, чтобы разбить строку на подстроки (здесь и далее токены) по заданным разделителям. Отличие этого способа от функции split() класса String в том, что разбиение на токены не происходит сразу. Разбивка выполняется тогда, когда это нужно программисту и столько раз, сколько нужно программисту.
Создать объект класса StringTokenizer можно несколькими способами. Для этого можно воспользоваться одним из конструкторов, приведенных в таблице 1
Конструктор | Описание |
---|---|
StringTokenizer(String str) | Конструктор, которому передается строка для разбиения на токены. Разделителем строки str является любой пробельный символ. |
StringTokenizer(String str, String delim) | Отличие этого конструктора от 1 конструктора в том, что задается строка разделителей. |
StringTokenizer(String str, String delim, boolean returnDelims) | Отличие этого конструктора от 2 конструктора в том, что задается флаг - включать ли разделители в токены. |
У всех конструкторов есть особенность. Если аргумент str у любого конструктора будет равен null, то будет брошено исключение NPE.
Для работы с классом StringTokenizer достаточно знать две функции:
Приведем ниже пример использования класса StringTokenizer
import java.util.StringTokenizer; /** * Пример использования класса StringTokenizer * */ public class Main { public static void main(String[] args) { String s = "AV Analytics Vidhya AV"; /* Формируем объект по заданной строке s. Разделителем на токены является любой пробельный символ */ StringTokenizer stringTokenizer = new StringTokenizer(s); /*Выводим исходную строку*/ System.out.println("Исходная строка: " + s); /*Выводим список получившихся токенов*/ System.out.println("Список токенов: "); int i = 1; /*Пока есть не обработанные токены*/ while (stringTokenizer.hasMoreElements()) { /*Получаем очередной токен*/ String token = stringTokenizer.nextToken(); /*Выводим токен на экран*/ System.out.println("\t" + i + ": " + token); i++; } } }
Проект можно взять здесь
Рис. 1. Вывод программы
На следующем шаге мы рассмотрим класс File