JavaRush /Blogue Java /Random-PT /Loop para try-catch
dimaMJ
Nível 25
Craiova

Loop para try-catch

Publicado no grupo Random-PT
O programa é simples, o usuário insere o nome do arquivo, se tal arquivo existir, ele é lido, etc., caso contrário, uma exceção é acionada e o usuário deve inserir o nome do arquivo novamente, e assim sucessivamente até o nome do arquivo está correto. Aqui está o código: public class Solution { public static void main(String[] args) throws Exception { InputStream inStream = filego(); OutputStream outStream = new PrintStream(System.out); while(inStream.available()>0) { int data = inStream.read(); outStream.write(data); } inStream.close(); outStream.close(); } public static InputStream filego() throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String FileName = reader.readLine(); InputStream inStream = null ; try { inStream = new FileInputStream(FileName); } catch (Exception e) { System.out.println("Файл не найден, введите еще раз"); filego(); } return inStream; } } Ao iniciar o programa, quando eu digito o nome errado, tudo funciona, quando eu digito o correto, ele lança Exception na thread "main" java.lang.NullPointerException, ou seja, por algum motivo ele retorna null , o que estou fazendo de errado, talvez meus olhos estejam embaçados ou algo esteja errado, eu entendo, por favor me diga) Eu realmente quero descobrir como fazer um loop try-catch corretamente. Tentei sem um método separado, apenas usando while, também não deu nada de bom)
E especifiquei o tipo do valor de retorno corretamente?
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION