Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как в Java не забыть вызвать .close()


Автор: afiskon 17.11.2011, 17:44
Если я правильно понимаю, поскольку в java нет деструкторов, для своевременного закрытия сетевых соединений, файлов и тп нужно помнить о необходимости вызвать соответствующий метод объекта. Например, Socket.close(). Скажите, а есть ли в Java оператор наподобие Python'овского with, в стиле

Код

with createFileHandle() as f
  """
  ...
  делаем что-то с файлом
  ...
  f.close() вызывается автоматически
  """

# работаем дальше


... или приходится все держать в голове? Если есть, то нельзя ли небольшой пример кода?

(на случай, если я кому-то надоел своими глупыми вопросами по java, сообщаю, что этот, кажется, последний).

Автор: Stolzen 17.11.2011, 17:47
В java 7 есть такое: http://java.dzone.com/articles/java-7-new-try-resources

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)