You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/05/10 23:26:13 UTC
svn commit: r1336904 -
/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
Author: rmuir
Date: Thu May 10 21:26:13 2012
New Revision: 1336904
URL: http://svn.apache.org/viewvc?rev=1336904&view=rev
Log:
don't skip the reader of the huge linedocs file, skip the inputstream instead
Modified:
lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java?rev=1336904&r1=1336903&r2=1336904&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java Thu May 10 21:26:13 2012
@@ -24,6 +24,9 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CodingErrorAction;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.zip.GZIPInputStream;
@@ -88,8 +91,6 @@ public class LineFileDocs implements Clo
size *= 2.8;
}
- reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), BUFFER_SIZE);
-
// Override sizes for currently "known" line files:
if (path.equals("europarl.lines.txt.gz")) {
size = 15129506L;
@@ -103,7 +104,11 @@ public class LineFileDocs implements Clo
if (LuceneTestCase.VERBOSE) {
System.out.println("TEST: LineFileDocs: seek to fp=" + seekTo + " on open");
}
- reader.skip(seekTo);
+ is.skip(seekTo);
+ CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder()
+ .onMalformedInput(CodingErrorAction.IGNORE)
+ .onUnmappableCharacter(CodingErrorAction.IGNORE);
+ reader = new BufferedReader(new InputStreamReader(is, decoder), BUFFER_SIZE);
reader.readLine();
}
}