РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
765 of 1163 menu

Метод close

Метод close класса Scanner закрывает сканер и освобождает все ресурсы, связанные с ним. Если сканер был создан на основе потока ввода (например, System.in), то после вызова метода close этот поток также будет закрыт. Метод не принимает параметров и не возвращает значения. После закрытия сканера попытка вызвать методы чтения (например, next или nextLine) приведет к исключению IllegalStateException.

Синтаксис

scanner.close()

Пример

Давайте создадим сканер для чтения из строки и закроем его после использования:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("abcde"); String res = scanner.nextLine(); System.out.println(res); scanner.close(); } }

Результат выполнения кода:

"abcde"

Пример

Давайте проверим, что после закрытия сканера вызов метода next приводит к исключению:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner("12345"); scanner.close(); try { String res = scanner.next(); System.out.println(res); } catch (IllegalStateException e) { System.out.println("Scanner is closed"); } } }

Результат выполнения кода:

"Scanner is closed"

Пример

Давайте закроем сканер, созданный на основе System.in, и убедимся, что повторный вызов close безопасен:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); scanner.close(); scanner.close(); System.out.println("Scanner closed"); } }

Результат выполнения кода:

"Scanner closed"

Смотрите также

  • класс Scanner,
    который читает данные из различных источников
  • метод next,
    который читает следующее слово
  • метод nextLine,
    который читает следующую строку
  • метод useDelimiter,
    который задает разделитель для сканера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить