Revision: 8277
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=8277&view=rev
Author:   dnaber
Date:     2012-11-01 16:04:38 +0000 (Thu, 01 Nov 2012)
Log Message:
-----------
simplify code by using Scanner

Modified Paths:
--------------
    
trunk/JLanguageTool/src/main/java/org/languagetool/rules/AbstractSimpleReplaceRule.java

Modified: 
trunk/JLanguageTool/src/main/java/org/languagetool/rules/AbstractSimpleReplaceRule.java
===================================================================
--- 
trunk/JLanguageTool/src/main/java/org/languagetool/rules/AbstractSimpleReplaceRule.java
     2012-11-01 15:17:21 UTC (rev 8276)
+++ 
trunk/JLanguageTool/src/main/java/org/languagetool/rules/AbstractSimpleReplaceRule.java
     2012-11-01 16:04:38 UTC (rev 8277)
@@ -18,22 +18,15 @@
  */
 package org.languagetool.rules;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.ResourceBundle;
-
 import org.languagetool.AnalyzedSentence;
 import org.languagetool.AnalyzedTokenReadings;
 import org.languagetool.JLanguageTool;
 import org.languagetool.tools.StringTools;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.*;
+
 /**
  * A rule that matches words or phrases which should not be used and suggests
  * correct ones instead. Loads the relevant words  from 
@@ -100,14 +93,13 @@
 
     for (int i = 1; i < tokens.length; i++) {
       final String token = tokens[i].getToken();
-
       final String origToken = token;
       final String replacement = isCaseSensitive() ? wrongWords.get(token) : 
wrongWords.get(token.toLowerCase(getLocale()));
       if (replacement != null) {
-       final String msg = token + getSuggestion() + replacement;
+        final String msg = token + getSuggestion() + replacement;
         final int pos = tokens[i].getStartPos();
         final RuleMatch potentialRuleMatch = new RuleMatch(this, pos, pos
-            + origToken.length(), msg, getShort());
+                + origToken.length(), msg, getShort());
         if (!isCaseSensitive() && StringTools.startsWithUppercase(token)) {
           
potentialRuleMatch.setSuggestedReplacement(StringTools.uppercaseFirstChar(replacement));
         } else {
@@ -119,24 +111,15 @@
     return toRuleMatchArray(ruleMatches);
   }
 
-
-  private Map<String, String> loadWords(final InputStream file) throws 
IOException {
+  private Map<String, String> loadWords(final InputStream stream) throws 
IOException {
     final Map<String, String> map = new HashMap<String, String>();
-    InputStreamReader isr = null;
-    BufferedReader br = null;
+    final Scanner scanner = new Scanner(stream, getEncoding());
     try {
-      isr = new InputStreamReader(file, getEncoding());
-      br = new BufferedReader(isr);
-      String line;
-
-      while ((line = br.readLine()) != null) {
-        line = line.trim();
-        if (line.length() < 1) {
+      while (scanner.hasNextLine()) {
+        final String line = scanner.nextLine();
+        if (line.length() < 1 || line.charAt(0) == '#') { //  # = comment
           continue;
         }
-        if (line.charAt(0) == '#') { // ignore comments
-          continue;
-        }
         final String[] parts = line.split("=");
         if (parts.length != 2) {
           throw new IOException("Format error in file "
@@ -144,14 +127,8 @@
         }
         map.put(parts[0], parts[1]);
       }
-
     } finally {
-      if (br != null) {
-        br.close();
-      }
-      if (isr != null) {
-        isr.close();
-      }
+      scanner.close();
     }
     return map;
   }

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


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Languagetool-commits mailing list
Languagetool-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/languagetool-commits

Reply via email to