Author: nextgens
Date: 2007-09-04 21:53:04 +0000 (Tue, 04 Sep 2007)
New Revision: 14965

Modified:
   trunk/freenet/src/freenet/support/io/FileUtil.java
Log:
Doh! r14948 was a merge error; revert it.

Modified: trunk/freenet/src/freenet/support/io/FileUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileUtil.java  2007-09-04 17:31:43 UTC 
(rev 14964)
+++ trunk/freenet/src/freenet/support/io/FileUtil.java  2007-09-04 21:53:04 UTC 
(rev 14965)
@@ -12,6 +12,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;

 import freenet.client.DefaultMIMETypes;

@@ -24,7 +25,7 @@
        }

        /**
-        * Guess estimate real disk usage for a file with a given filename, of 
a given length.
+        * Guesstimate real disk usage for a file with a given filename, of a 
given length.
         */
        public static long estimateUsage(File file, long flen) {
                /**
@@ -75,24 +76,33 @@
                return result;
        }

+       // FIXME: this is called readUTF but it reads in the default charset 
... eh??
        public static String readUTF(File file) throws FileNotFoundException, 
IOException {
+               StringBuffer result = new StringBuffer();
                FileInputStream fis = null;
                BufferedInputStream bis = null;
-               DataInputStream dis = null;
+               InputStreamReader isr = null;

                try {
                        fis = new FileInputStream(file);
                        bis = new BufferedInputStream(fis);
-                       dis = new DataInputStream(bis);
+                       isr = new InputStreamReader(bis);

-                       return dis.readUTF();
+                       char[] buf = new char[4096];
+                       int length = 0;
+
+                       while((length = isr.read(buf)) > 0) {
+                               result.append(buf, 0, length);
+                       }
+
                } finally {
                        try {
-                               if(dis != null) dis.close();
+                               if(isr != null) isr.close();
                                if(bis != null) bis.close();
                                if(fis != null) fis.close();
                        } catch (IOException e) {}
                }
+               return result.toString();
        }

        public static boolean writeTo(InputStream input, File target) throws 
FileNotFoundException, IOException {


Reply via email to