Я пытаюсь указать несколько ресурсов в одной инструкции Try-With-Resources
, но моя ситуация немного отличается от тех, которые я читал в других сообщениях.
Я только что попробовал следующее Try-With-Resources
public static String myPublicStaticMethod(BufferedImage bufferedImage, String fileName) {
try (ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", os);
InputStream is = new ByteArrayInputStream(os.toByteArray());
) {
.....
.....
}
Но мой код не может скомпилировать с этой ошибкой:
Resource references are not supported at language level '8'
Итак, как вы можете видеть, моя цель - объявить ByteArrayOutputStream os
и InputStream is
как ресурсы Try-With-Resources
, но мне нужно вызвать метод ImageIO.write()
перед созданием InputStream.
Должен ли я использовать обычный try-catch-finally , чтобы закрыть потоки?