Author: nextgens
Date: 2007-11-29 12:28:41 +0000 (Thu, 29 Nov 2007)
New Revision: 16066
Modified:
trunk/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
Log:
CSSReadFilter: use the Closer
Modified: trunk/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
2007-11-29 12:27:37 UTC (rev 16065)
+++ trunk/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
2007-11-29 12:28:41 UTC (rev 16066)
@@ -18,6 +18,7 @@
import freenet.support.Logger;
import freenet.support.api.Bucket;
import freenet.support.api.BucketFactory;
+import freenet.support.io.Closer;
import freenet.support.io.NullWriter;
public class CSSReadFilter implements ContentDataFilter, CharsetExtractor {
@@ -37,20 +38,29 @@
InputStream strm = bucket.getInputStream();
Bucket temp = bf.makeBucket(bucket.size());
OutputStream os = temp.getOutputStream();
- Reader r;
- Writer w;
+ Reader r = null;
+ Writer w = null;
+ InputStreamReader isr = null;
+ OutputStreamWriter osr = null;
try {
- r = new BufferedReader(new InputStreamReader(strm,
charset), 32768);
- w = new BufferedWriter(new OutputStreamWriter(os,
charset), 32768);
+ try {
+ isr = new InputStreamReader(strm, charset);
+ osr = new OutputStreamWriter(os, charset);
+ r = new BufferedReader(isr, 32768);
+ w = new BufferedWriter(osr, 32768);
} catch (UnsupportedEncodingException e) {
- os.close();
- strm.close();
throw UnknownCharsetException.create(e, charset);
}
CSSParser parser = new CSSParser(r, w, false, cb);
parser.parse();
- r.close();
- w.close();
+ } finally {
+ Closer.close(isr);
+ Closer.close(r);
+ Closer.close(osr);
+ Closer.close(w);
+ Closer.close(os);
+ Closer.close(strm);
+ }
return temp;
}