2012-04-12 6 views
1

Ich musste mein Schulprojekt JDK 1.7 auf 1.6 umstellen. Ich habe ein neues Projekt auf der Plattform 1.6 erstellt und alles, was in meinem Projekt gepackt wurde, kopiert und es scheint, als ob 1.6 diese Art gepufferten Lesers nicht unterstützt, bitte um Hilfe. Ich muss aus einer Datei in src lesen. wenn ich Scanner benutze, sollte es mir gut gehen?Projekt von JDK 1.7 auf 1.6 umschalten BufferedReader

try (BufferedReader br = new BufferedReader(new FileReader(sDataPath))){ 

Error " Resource specification not allowed here for source level below 1.7" 
+0

Verwenden Sie in Jsp? – biplav

Antwort

7

Es ist nicht eine Frage der BufferedReader ein Problem zu sein - es ist Ihr try-with-resources statement, die in Java 7 eingeführt wurde, Sie werden den Leser manuell schließen müssen:

BufferedReader reader = new BufferedReader(new FileReader(sDataPath)); 
try { 
    ... 
} finally { 
    reader.close(); 
} 

Als beiseite, ich 'raten Sie gegen mit FileReader - Verwenden Sie eine InputStreamReader Umhüllung ein FileInputStream, so dass Sie die Codierung angeben können.

Ach ja, und wenn Sie externe Bibliotheken verwenden dürfen, können Sie feststellen, dass Guava Ihre Ressource einfache Handhabung machen :)

+0

Danke! Wir können keine externen Bibliotheken verwenden: – Dav

2

Java 7 ermöglicht die automatische Entsorgung von Ressourcen, dass try() Konstrukt. Java 6 hat es nicht. Sie müssen etwas wie schreiben:

BufferedReader br=null 
try { 
    br = new BufferedReader(...); // create and use BufferedReader here 
} 
finally { 
    if(br!=null) br.close(); 
} 
Verwandte Themen