Author: nextgens
Date: 2007-04-20 21:03:59 +0000 (Fri, 20 Apr 2007)
New Revision: 12830

Modified:
   trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
Close openned streams in any case

Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java       2007-04-20 
20:53:00 UTC (rev 12829)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java       2007-04-20 
21:03:59 UTC (rev 12830)
@@ -567,9 +567,12 @@
        }

        public static SimpleFieldSet readFrom(InputStream is, boolean 
allowMultiple, boolean shortLived) throws IOException {
+               BufferedInputStream bis = null;
+               InputStreamReader isr = null;
+               BufferedReader br = null;
+               
                try {
-                       BufferedInputStream bis = new BufferedInputStream(is);
-                       InputStreamReader isr;
+                       bis = new BufferedInputStream(is);
                        try {
                                isr = new InputStreamReader(bis, "UTF-8");
                        } catch (UnsupportedEncodingException e) {
@@ -577,14 +580,14 @@
                                is.close();
                                return null;
                        }
-                       BufferedReader br = new BufferedReader(isr);
+                       br = new BufferedReader(isr);
                        SimpleFieldSet fs = new SimpleFieldSet(br, 
allowMultiple, shortLived);
-                       br.close();
-                       bis.close();
-                       is = null;
                        return fs;
                } finally {
                        try {
+                               if(br != null) br.close();
+                               if(isr != null) isr.close();
+                               if(bis != null) bis.close();
                                if(is != null) is.close();
                        } catch (IOException e) {}                      
                }


Reply via email to