initialisieren FileInputStream
Warum ist es Fragen mich zum initialisieren der Variablen fin
FileInputStream fin;
File f = new File("C:/Users/NetBeansProjects/QuestionOne/input.txt");
fin = new FileInputStream(f);
Beim Versuch, die Datei zu schließen
fin.close();
- wo ist fin.schließen()? Ist Ihre
fin = new FileInputStream(f);
in einigen IF/ELSE-block? Auch, warum schreiben Sie nichtFileInputStream fin = new FileInputStream("C:/Users/NetBeansProjects/QuestionOne/input.txt");
- Ist, dass Ihre tatsächliche code? Ich glaube nicht, dass es widerspiegelt, was Sie tun, eigentlich.
- Wo nennst du fin.in der Nähe?
- Poste den code mit { und }, Java 7 kann helfen, mit der syntax versuchen( <Ressource öffnen " >") { <code> } catch(...) {...}
- Hmmmm Initialisieren fin mit null und alles funktioniert einwandfrei...! Ich denke, dass Sie anrufen, fin einige, wo im letzten block
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Wette, das ist nicht genau der gleiche code, generiert der compiler Fehler. Fast sicher, dass Sie deklarierte Variablen außerhalb des try-catch-finally-block, sondern Sie initialisiert Sie innerhalb des try-Blocks, was bedeutet, die variable kann nicht initialisiert werden im Rahmen des catch-oder finally-Blöcken, in denen der compiler Fehler Auftritt
Beispiel:
Wenn Sie mit dem JDK 7 vielleicht der beste Weg ist die Verwendung von try-mit-Ressourcen umzugehen, die mit dem schließen Ihres stream:
Weil Sie wahrscheinlich mit diesem snippet innerhalb einer Funktion, und innerhalb von Funktionen Variablen werden nicht automatisch initialisiert, da Sie, wenn Sie
instance variables
. Wennfin = new FileInputStream(f);
wirft eine Ausnahme, und ich denke, Sie habenfin.close();
imfinally
- Anweisung (aber Sie hat nicht gesamten code), den der compiler nicht weiß, was den Wert derfin
um, um es zu schließen.