Revision: 17491
          http://sourceforge.net/p/gate/code/17491
Author:   markagreenwood
Date:     2014-02-28 16:58:25 +0000 (Fri, 28 Feb 2014)
Log Message:
-----------
make sure we don't leak stream handles

Modified Paths:
--------------
    gate/trunk/src/main/hepple/postag/POSTagger.java

Modified: gate/trunk/src/main/hepple/postag/POSTagger.java
===================================================================
--- gate/trunk/src/main/hepple/postag/POSTagger.java    2014-02-28 16:43:43 UTC 
(rev 17490)
+++ gate/trunk/src/main/hepple/postag/POSTagger.java    2014-02-28 16:58:25 UTC 
(rev 17491)
@@ -390,30 +390,38 @@
 
       for(int i = 0; i < fileNames.length; i++){
         String file = fileNames[i];
-        BufferedReader reader = new BufferedReader(new FileReader(file));
-        String line = reader.readLine();
-
-        while(line != null){
-          StringTokenizer tokens = new StringTokenizer(line);
-          List<String> sentence = new ArrayList<String>();
-          while(tokens.hasMoreTokens()) sentence.add(tokens.nextToken());
-          List<List<String>> sentences = new ArrayList<List<String>>();
-          sentences.add(sentence);
-          List<List<String[]>> result = tagger.runTagger(sentences);
-
-          Iterator<List<String[]>> iter = result.iterator();
-          while(iter.hasNext()){
-            List<String[]> sentenceFromTagger = iter.next();
-            Iterator<String[]> sentIter = sentenceFromTagger.iterator();
-            while(sentIter.hasNext()){
-              String[] tag = sentIter.next();
-              System.out.print(tag[0] + "/" + tag[1]);
-              if(sentIter.hasNext()) System.out.print(" ");
-              else System.out.println();
-            }//while(sentIter.hasNext())
-          }//while(iter.hasNext())
-          line = reader.readLine();
-        }//while(line != null)
+        BufferedReader reader = null;
+        
+        try {
+          reader = new BufferedReader(new FileReader(file));
+        
+          String line = reader.readLine();
+  
+          while(line != null){
+            StringTokenizer tokens = new StringTokenizer(line);
+            List<String> sentence = new ArrayList<String>();
+            while(tokens.hasMoreTokens()) sentence.add(tokens.nextToken());
+            List<List<String>> sentences = new ArrayList<List<String>>();
+            sentences.add(sentence);
+            List<List<String[]>> result = tagger.runTagger(sentences);
+  
+            Iterator<List<String[]>> iter = result.iterator();
+            while(iter.hasNext()){
+              List<String[]> sentenceFromTagger = iter.next();
+              Iterator<String[]> sentIter = sentenceFromTagger.iterator();
+              while(sentIter.hasNext()){
+                String[] tag = sentIter.next();
+                System.out.print(tag[0] + "/" + tag[1]);
+                if(sentIter.hasNext()) System.out.print(" ");
+                else System.out.println();
+              }//while(sentIter.hasNext())
+            }//while(iter.hasNext())
+            line = reader.readLine();
+          }//while(line != null)
+        }
+        finally {
+          IOUtils.closeQuietly(reader);
+        }
 //
 //
 //
@@ -455,17 +463,25 @@
    * for input.
    */
   private static List<List<String>> readInput(String file) throws IOException{
-    BufferedReader reader = new BufferedReader(new FileReader(file));
-    String line = reader.readLine();
-    List<List<String>> result = new ArrayList<List<String>>();
-    while(line != null){
-      StringTokenizer tokens = new StringTokenizer(line);
-      List<String> sentence = new ArrayList<String>();
-      while(tokens.hasMoreTokens()) sentence.add(tokens.nextToken());
-      result.add(sentence);
-      line = reader.readLine();
-    }//while(line != null)
-    return result;
+    BufferedReader reader = null;
+    
+    try {
+      reader = new BufferedReader(new FileReader(file));
+    
+      String line = reader.readLine();
+      List<List<String>> result = new ArrayList<List<String>>();
+      while(line != null){
+        StringTokenizer tokens = new StringTokenizer(line);
+        List<String> sentence = new ArrayList<String>();
+        while(tokens.hasMoreTokens()) sentence.add(tokens.nextToken());
+        result.add(sentence);
+        line = reader.readLine();
+      }//while(line != null)
+      return result;
+    }
+    finally {
+      IOUtils.closeQuietly(reader);
+    }
   }//private static List readInput(File file) throws IOException
 
 }//public class POSTagger

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to