JavaRush /Java-Blog /Random-DE /Schleife für Try-Catch
dimaMJ
Level 25
Craiova

Schleife für Try-Catch

Veröffentlicht in der Gruppe Random-DE
Das Programm ist einfach: Der Benutzer gibt den Dateinamen ein. Wenn eine solche Datei vorhanden ist, wird sie gelesen usw. Wenn nicht, wird eine Ausnahme ausgelöst und der Benutzer muss den Dateinamen erneut eingeben usw., bis der Dateiname angezeigt wird ist richtig. Hier ist der Code: 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; } } Wenn ich das Programm starte und den falschen Namen eingebe, funktioniert alles. Wenn ich den richtigen eingebe, wird eine Ausnahme im Thread „main“ java.lang.NullPointerException ausgelöst, das heißt, aus irgendeinem Grund wird null zurückgegeben , was mache ich falsch, vielleicht sind meine Augen beschlagen oder etwas stimmt nicht, ich verstehe, bitte sag es mir) Ich möchte wirklich herausfinden, wie man eine Try-Catch-Schleife richtig erstellt. Ich habe es ohne separate Methode versucht, nur mit while, es kam auch nichts Gutes heraus)
Und habe ich den Typ des Rückgabewerts richtig angegeben?
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION