Author: nextgens
Date: 2007-04-21 17:15:21 +0000 (Sat, 21 Apr 2007)
New Revision: 12844

Modified:
   trunk/freenet/src/freenet/clients/http/PageMaker.java
Log:
Fix CSSOverride ... and make it a bit cleaner, ensuring we do close openned 
streams

Modified: trunk/freenet/src/freenet/clients/http/PageMaker.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PageMaker.java       2007-04-21 
15:19:02 UTC (rev 12843)
+++ trunk/freenet/src/freenet/clients/http/PageMaker.java       2007-04-21 
17:15:21 UTC (rev 12844)
@@ -1,10 +1,10 @@
 package freenet.clients.http;

 import java.io.BufferedInputStream;
-import java.io.DataInputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.net.JarURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
@@ -216,20 +216,34 @@

        private HTMLNode getOverrideContent() {
                HTMLNode result = new HTMLNode("style", "type", "text/css");
+               FileInputStream fis = null;
+               BufferedInputStream bis = null;
+               InputStreamReader isr = null;
+               
                try {
-                       FileInputStream fis = new FileInputStream(override);
-                       BufferedInputStream bis = new BufferedInputStream(fis);
-                       DataInputStream dis = new DataInputStream(bis);
+                       fis = new FileInputStream(override);
+                       bis = new BufferedInputStream(fis);
+                       isr = new InputStreamReader(bis);
+                       StringBuffer sb = new StringBuffer();

-                       result.addChild("#", DataInputStream.readUTF(dis));
+                       char[] buf = new char[4096];

-                       dis.close();
-                       bis.close();
-                       fis.close();
+                       while(isr.ready()) {
+                               isr.read(buf);
+                               sb.append(buf);
+                       }
+                       
+                       result.addChild("#", sb.toString());
+                       
                } catch (IOException e) {
                        Logger.error(this, "Got an IOE: " + e.getMessage(), e);
+               } finally {
+                       try {
+                               if(isr != null) isr.close();
+                               if(bis != null) bis.close();
+                               if(fis != null) fis.close();
+                       } catch (IOException e) {}
                }
-               
                return result;
        }
 }


Reply via email to