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