ジェイ:
私は、メソッドの最後にリソースを閉じるか、必要でないようにする必要がある疑問に、私のコードでのtry-とリソースブロックを使用していますか?
try (S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));
BufferedReader br = new BufferedReader(new InputStreamReader(object.getObjectContent()));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("output.txt")))){
String line;
while((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
}
GhostCat敬礼モニカC.:
あなたがする必要はありません近いあなたはtry節で定義されたリソース。しかし、あなたの例を与え、あなたも、これを持っている身体試みの:
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("output.txt"))))
そして、あなたのコードがされていないそのリソースを閉じます。そして、それは間違っている(とハンドルが開いてファイルシステムを維持することは、最も可能性の高い本物のリソースリークです)。
言い換えれば、あなたはおそらく、追加するbw
ことがの定義に沿って座っているので、あなたのtry-と、リソース節にS3Object object
(参照ここでは例えば)。