Author: nextgens
Date: 2007-11-29 12:30:50 +0000 (Thu, 29 Nov 2007)
New Revision: 16068
Modified:
trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
Log:
ContentFilter: use the Closer
Modified: trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
2007-11-29 12:28:57 UTC (rev 16067)
+++ trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
2007-11-29 12:30:50 UTC (rev 16068)
@@ -15,6 +15,7 @@
import freenet.support.Logger;
import freenet.support.api.Bucket;
import freenet.support.api.BucketFactory;
+import freenet.support.io.Closer;
/**
* Freenet content filter. This doesn't actually do any filtering,
@@ -247,8 +248,10 @@
* @throws IOException
*/
private static String detectBOM(Bucket bucket) throws IOException {
+ InputStream is = null;
+ try {
byte[] data = new byte[5];
- InputStream is = bucket.getInputStream();
+ is = bucket.getInputStream();
int read = 0;
while(read < data.length) {
int x;
@@ -259,7 +262,6 @@
}
if(x <= 0) break;
}
- is.close();
if(startsWith(data, bom_utf8)) return "UTF-8";
if(startsWith(data, bom_utf16_be) || startsWith(data,
bom_utf16_le)) return "UTF-16";
if(startsWith(data, bom_utf32_be) || startsWith(data,
bom_utf32_le)) return "UTF-32";
@@ -270,6 +272,9 @@
if(startsWith(data, bom_utf_ebcdic)) return "UTF-EBCDIC";
if(startsWith(data, bom_bocu_1)) return "BOCU-1";
return null;
+ } finally {
+ Closer.close(is);
+ }
}
// Byte Order Mark's - from Wikipedia. We keep all of them because a
rare encoding might