JavaRush /Java Blog /Random-IT /Ciclo per try-catch
dimaMJ
Livello 25
Craiova

Ciclo per try-catch

Pubblicato nel gruppo Random-IT
Il programma è semplice, l'utente inserisce il nome del file, se tale file esiste, viene letto, ecc., in caso contrario, viene attivata un'eccezione e l'utente deve inserire nuovamente il nome del file e così via fino al nome del file è corretta. Ecco il codice: 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; } } All'avvio del programma, quando inserisco il nome sbagliato, tutto funziona, quando inserisco quello corretto, lancia un'eccezione nel thread "main" java.lang.NullPointerException, cioè per qualche motivo restituisce null , cosa sto facendo di sbagliato, forse ho gli occhi annebbiati o qualcosa non va, capisco, per favore dimmi) Voglio davvero capire come creare correttamente un ciclo try-catch. L'ho provato senza un metodo separato, usando solo while, non è venuto fuori neanche niente di buono)
E ho specificato correttamente il tipo di valore restituito?
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION