Я хочу знать, нужно ли проверять ноль в строке 3.
Нет. Пока вы сохраняете выражение new FileInputStream(new File("path/to/file"))
, результатом будет ненулевой объект FileInputStream
. Проверка в строке 3 не нужна.
Будут ли какие-либо ситуации или обстоятельства, когда inputStream может быть нулевым в строке 3?
Да. Если вы присваиваете любое выражение, которое возвращает null
для inputStream
. Это не очень практично, так как вы ничего не можете сделать с потоком, кроме проверки на нуль. В этом случае может пригодиться проверка в строке 3.
Например,
try (InputStream s = null) {}
catch (IOException e) {}