Да, закрывается. Смотрите это в javadoc .
Считывает все байты из файла. Этот метод гарантирует, что файл будет закрыт, когда прочитаны все байты или будет выдана ошибка ввода-вывода или другое исключение во время выполнения.
Обратите внимание, что этот метод предназначен для простых случаев, когда удобно считывать все байты в байтовый массив. Он не предназначен для чтения в больших файлах.
public static byte[] readAllBytes(Path path) throws IOException {
try (SeekableByteChannel sbc = Files.newByteChannel(path);
InputStream in = Channels.newInputStream(sbc)) {
long size = sbc.size();
if (size > (long)MAX_BUFFER_SIZE)
throw new OutOfMemoryError("Required array size too large");
return read(in, (int)size);
}
}