Author: nextgens
Date: 2007-11-29 12:37:16 +0000 (Thu, 29 Nov 2007)
New Revision: 16071
Modified:
trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
Log:
HTMLFilter: use the Closer
Modified: trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
2007-11-29 12:36:32 UTC (rev 16070)
+++ trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
2007-11-29 12:37:16 UTC (rev 16071)
@@ -31,6 +31,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 HTMLFilter implements ContentDataFilter, CharsetExtractor {
@@ -50,24 +51,30 @@
Bucket temp = bf.makeBucket(bucket.size());
OutputStream os = temp.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os, 4096);
- Reader r;
- Writer w;
+ Reader r = null;
+ Writer w = null;
+ InputStreamReader isr = null;
+ OutputStreamWriter osw = null;
try {
- r = new BufferedReader(new InputStreamReader(bis,
charset), 4096);
- w = new BufferedWriter(new OutputStreamWriter(bos,
charset), 4096);
+ try {
+ isr = new InputStreamReader(bis, charset);
+ osw = new OutputStreamWriter(bos, charset);
+ r = new BufferedReader(isr, 4096);
+ w = new BufferedWriter(osw, 4096);
} catch (UnsupportedEncodingException e) {
- os.close();
- strm.close();
throw UnknownCharsetException.create(e, charset);
}
HTMLParseContext pc = new HTMLParseContext(r, w, charset, cb,
false);
pc.run(temp);
- r.close();
- w.close();
- os.close();
- bos.close();
- bis.close();
- strm.close();
+ } finally {
+ Closer.close(w);
+ Closer.close(osw);
+ Closer.close(os);
+ Closer.close(r);
+ Closer.close(isr);
+ Closer.close(bis);
+ Closer.close(strm);
+ }
return temp;
}