2012-04-12 16 views
1

私の学校プロジェクトJDK 1.7を1.6に切り替える必要がありました。私はプラットフォーム1.6で新しいプロジェクトを作成し、私のプロジェクトにすべてのパックをコピーし、1.6のようなバッファリングされた読者のこの種をサポートしていないようだ、どんな助けてください? srcのファイルから読み込む必要があります。私がScannerを使用すればいいの?JDK 1.7から1.6へのプロジェクトの切り替えBufferedReader

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

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

jspで使用していますか? – biplav

答えて

7

それは問題点BufferedReaderの問題ではない - それはあなたが手動で読者を閉じる必要がありますJavaの7で導入されたあなたのtry-with-resources statement、です:余談として

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

、I に対してを使用して、FileReaderを使用してください。FileInputStreamをラップするInputStreamReaderを使用して、エンコードを指定することができます。

ああ、あなたは外部ライブラリを使用することを許可している場合、あなたはGuavaは単純:)

+0

ありがとう!外部ライブラリを使用することはできません:/ – Dav

2

のJava 7は、そのtry()構文を使用してリソースを自動的に廃棄することができ、あなたのリソースを扱うようになりますことがあります。 Java 6にはそれがありません。

BufferedReader br=null 
try { 
    br = new BufferedReader(...); // create and use BufferedReader here 
} 
finally { 
    if(br!=null) br.close(); 
} 
関連する問題