Author: srowen
Date: Tue Sep  2 09:20:30 2008
New Revision: 691299

URL: http://svn.apache.org/viewvc?rev=691299&view=rev
Log:
Enable support for more character encodings

Modified:
    
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterable.java
    
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterator.java

Modified: 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterable.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterable.java?rev=691299&r1=691298&r2=691299&view=diff
==============================================================================
--- 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterable.java
 (original)
+++ 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterable.java
 Tue Sep  2 09:20:30 2008
@@ -20,23 +20,36 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.Iterator;
+import java.nio.charset.Charset;
 
 /**
  * Iterable representing the lines of a text file. It can produce an [EMAIL 
PROTECTED] Iterator} over those lines.
- * This assumes the text file is UTF-8 encoded and that its lines are 
delimited in a manner
+ * This assumes the text file's lines are delimited in a manner
  * consistent with how [EMAIL PROTECTED] java.io.BufferedReader} defines lines.
  */
 public final class FileLineIterable implements Iterable<String> {
 
   private final File file;
+  private final Charset encoding;
 
+  /**
+   * Creates a [EMAIL PROTECTED] FileLineIterable} over a given file, assuming 
a UTF-8 encoding.
+   */
   public FileLineIterable(File file) {
+    this(file, Charset.forName("UTF-8"));
+  }
+
+  /**
+   * Creates a [EMAIL PROTECTED] FileLineIterable} over a given file, using 
the given encoding.
+   */
+  public FileLineIterable(File file, Charset encoding) {
     this.file = file;
+    this.encoding = encoding;
   }
 
   public Iterator<String> iterator() {
     try {
-      return new FileLineIterator(file);
+      return new FileLineIterator(file, encoding);
     } catch (IOException ioe) {
       throw new IllegalStateException(ioe);
     }

Modified: 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterator.java
URL: 
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterator.java?rev=691299&r1=691298&r2=691299&view=diff
==============================================================================
--- 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterator.java
 (original)
+++ 
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/FileLineIterator.java
 Tue Sep  2 09:20:30 2008
@@ -30,8 +30,8 @@
 import java.nio.charset.Charset;
 
 /**
- * Iterates over the lines of a text file. This assumes the text file is UTF-8 
encoded
- * and that its lines are delimited in a manner consistent with how [EMAIL 
PROTECTED] BufferedReader}
+ * Iterates over the lines of a text file. This assumes the text file's lines
+ * are delimited in a manner consistent with how [EMAIL PROTECTED] 
BufferedReader}
  * defines lines.
  */
 public final class FileLineIterator implements Iterator<String>, Closeable {
@@ -40,12 +40,24 @@
   private String nextLine;
 
   /**
+   * Creates a [EMAIL PROTECTED] FileLineIterator} over a given file, assuming 
a UTF-8 encoding.
+   *
    * @throws FileNotFoundException if the file does not exist
    * @throws IOException if the file cannot be read
    */
   public FileLineIterator(File file) throws IOException {
+    this(file, Charset.forName("UTF-8"));
+  }
+
+  /**
+   * Creates a [EMAIL PROTECTED] FileLineIterator} over a given file, using 
the given encoding.
+   *
+   * @throws FileNotFoundException if the file does not exist
+   * @throws IOException if the file cannot be read
+   */
+  public FileLineIterator(File file, Charset encoding) throws IOException {
     InputStream is = new FileInputStream(file);
-    reader = new BufferedReader(new InputStreamReader(is, 
Charset.forName("UTF-8")));
+    reader = new BufferedReader(new InputStreamReader(is, encoding));
     nextLine = reader.readLine();
   }
 


Reply via email to