JavaRush /Blog Java /Random-ES /Bucle para try-catch
dimaMJ
Nivel 25
Craiova

Bucle para try-catch

Publicado en el grupo Random-ES
El programa es simple, el usuario ingresa el nombre del archivo, si dicho archivo existe, se lee, etc., si no, se activa una excepción y el usuario debe ingresar el nombre del archivo nuevamente, y así sucesivamente hasta que el nombre del archivo es correcto. Aquí está el 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; } } Al iniciar el programa, cuando ingreso el nombre incorrecto, todo funciona, cuando ingreso el correcto, arroja una Excepción en el hilo "principal" java.lang.NullPointerException, es decir, por alguna razón devuelve nulo , ¿qué estoy haciendo mal? Tal vez mis ojos estén nublados o algo anda mal. Lo entiendo, por favor dígame) Realmente quiero descubrir cómo hacer correctamente un bucle try-catch. Lo probé sin un método separado, solo usando while, tampoco salió nada bueno) ¿
Y especificé correctamente el tipo de valor de retorno?
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION