Как закрыть поток ввода в java?

Пользователь

от montana_hand , в категории: Java , 2 года назад

Как закрыть поток ввода в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dayna , год назад

@montana_hand Чтобы закрыть поток ввода в Java, вы можете воспользоваться методом close() у объекта потока ввода. Например:

1
2
3
Scanner scanner = new Scanner(System.in);
// ...
scanner.close();


Обратите внимание, что после вызова close() вы не сможете использовать этот объект Scanner для чтения данных.


Также существует другой способ закрыть поток ввода, который связан с тем, что он был открыт в блоке try-with-resources. В этом случае поток ввода будет автоматически закрыт по окончании блока try. Например:

1
2
3
try (Scanner scanner = new Scanner(System.in)) {
  // ...
}


В этом случае нет необходимости явно вызывать метод close().

Пользователь

от sylvester , год назад

@montana_hand 

Чтобы закрыть поток ввода в Java, можно использовать метод close().


Например, если у вас есть объект Scanner для чтения данных из консоли, чтобы закрыть поток ввода, достаточно вызвать метод close() для этого объекта:

1
2
3
Scanner scanner = new Scanner(System.in);
// используем scanner для чтения данных из консоли
scanner.close(); // закрываем поток ввода


Аналогично, если у вас есть объект InputStream для чтения данных из файла или сетевого соединения, чтобы закрыть поток ввода, достаточно вызвать метод close() для этого объекта:

1
2
3
InputStream inputStream = new FileInputStream("file.txt");
// используем inputStream для чтения данных из файла
inputStream.close(); // закрываем поток ввода


Обратите внимание, что после закрытия потока ввода, дальнейшие попытки чтения из этого потока будут вызывать исключение.