/ Forside/ Teknologi / Udvikling / Java / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Lukke en filehandler?
Fra : CADmageren
Vist : 698 gange
50 point
Dato : 13-04-05 08:28

Hej igen.

Jeg arbejder med try i nedenstående eksempel, og undrer mig over om man ikke skal være sikker på at en filehandle bliver lukket - dvs at catch delen også skal sørge for at lukke for filehandlen? - Er dette korrekt?


private static String readFile(String filename) {
String lineSep = System.getProperty("line.separator");
BufferedReader br;
try {
br = new BufferedReader(new FileReader(filename));
String nextLine = "";
StringBuffer sb = new StringBuffer();
while ((nextLine = br.readLine()) != null) {
sb.append(nextLine);
sb.append(lineSep);
}
br.close();
return sb.toString();
}
catch (Exception u) {
try {br.close();} // ??????????????????????????
catch (Exception x) { }
return "";
}
}

 
 
Accepteret svar
Fra : molokyle

Modtaget 60 point
Dato : 13-04-05 08:42

100 år siden jeg har kodet Java, men jeg vil mene du skal smide en exeption selv med : 'throw' (lad klassen arve fra Throwable) i stedet for at stole på systemets runtime excetions : http://java.sun.com/docs/books/tutorial/essential/exceptions/

Bliver det så nødvendigt ? Lukker du din filhandle í din exeptionhandler.

</MOLOKYLE>

Kommentar
Fra : CADmageren


Dato : 13-04-05 09:03

Hm, jeg skal nok studere den exception lidt nærmere, men umiddelbart burde det da være nødvendigt at lukke filhandle...


Kommentar
Fra : molokyle


Dato : 13-04-05 10:08

Jeg er ikke helt sikker, men mon ikke det er som med garbagekollektion i Java ; at når et element ikke længere er tilgængeligt for reference, så nedlægges objektet automatisk ???

</MOLOKYLE>

Godkendelse af svar
Fra : CADmageren


Dato : 18-06-05 21:32

Tak for svaret molokyle.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177413
Tips : 31962
Nyheder : 719565
Indlæg : 6407802
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste