Проверял через debug - все работает - пока файл размером меньше 1000 байт, крутит по циклу читая имя следующего файла. Как только файл меньше 1000 байт - выходит из цикла и завершается исключением.
package com.javarush.task.task18.task1810;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/*
DownloadException
*/
public class Solution {
public static void main(String[] args) throws DownloadException , Exception {
String fileName=null;
FileInputStream fileInputStream=null;
boolean flag = true;
try(BufferedReader r = new BufferedReader(new InputStreamReader(System.in))) {
while(flag) {
fileName=r.readLine();
try {
fileInputStream = new FileInputStream(fileName);
if (fileInputStream.available()<1000) {flag=false;}
}
catch (Exception e) {}
finally {
if (fileInputStream!=null) {fileInputStream.close();}
}
}
}
throw new DownloadException();
}
public static class DownloadException extends Exception {
}
}