aboutsummaryrefslogtreecommitdiffstats
path: root/tools/dicttool/src
diff options
context:
space:
mode:
authorYuichiro Hanada <yhanada@google.com>2013-08-12 14:47:20 +0900
committerYuichiro Hanada <yhanada@google.com>2013-08-13 19:55:05 +0900
commit3feacba1eb43fb906f50581df19ff2e468642ca8 (patch)
tree269cd27201fbfad661734ad12367d5f762881f11 /tools/dicttool/src
parent7242bf1a159b909db8a7c74e786e2391a4361d85 (diff)
downloadlatinime-3feacba1eb43fb906f50581df19ff2e468642ca8.tar.gz
latinime-3feacba1eb43fb906f50581df19ff2e468642ca8.tar.xz
latinime-3feacba1eb43fb906f50581df19ff2e468642ca8.zip
Add BinaryDictReader.
Bug: 9618601 Change-Id: Ief07fa0c3c4f7f5999a3fafcef4e47b6b6fd8143
Diffstat (limited to 'tools/dicttool/src')
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java10
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/DictionaryMaker.java23
2 files changed, 10 insertions, 23 deletions
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
index c2c77d61a..d0b460af0 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/BinaryDictOffdeviceUtils.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.latin.dicttool;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
+import com.android.inputmethod.latin.makedict.BinaryDictReader;
import com.android.inputmethod.latin.makedict.FusionDictionary;
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
@@ -185,16 +186,15 @@ public final class BinaryDictOffdeviceUtils {
crash(filename, new RuntimeException(
filename + " does not seem to be a dictionary file"));
} else {
- final FileInputStream inStream = new FileInputStream(decodedSpec.mFile);
- final ByteBuffer buffer = inStream.getChannel().map(
- FileChannel.MapMode.READ_ONLY, 0, decodedSpec.mFile.length());
+ final BinaryDictReader reader = new BinaryDictReader(decodedSpec.mFile);
+ reader.openBuffer(
+ new BinaryDictReader.FusionDictionaryBufferFromByteArrayFactory());
if (report) {
System.out.println("Format : Binary dictionary format");
System.out.println("Packaging : " + decodedSpec.describeChain());
System.out.println("Uncompressed size : " + decodedSpec.mFile.length());
}
- return BinaryDictInputOutput.readDictionaryBinary(
- new BinaryDictInputOutput.ByteBufferWrapper(buffer), null);
+ return BinaryDictInputOutput.readDictionaryBinary(reader, null);
}
}
} catch (IOException e) {
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/DictionaryMaker.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/DictionaryMaker.java
index cc890f60c..9bce988ac 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/DictionaryMaker.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/DictionaryMaker.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.latin.dicttool;
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
+import com.android.inputmethod.latin.makedict.BinaryDictReader;
import com.android.inputmethod.latin.makedict.FormatSpec;
import com.android.inputmethod.latin.makedict.FusionDictionary;
import com.android.inputmethod.latin.makedict.MakedictLog;
@@ -265,24 +266,10 @@ public class DictionaryMaker {
*/
private static FusionDictionary readBinaryFile(final String binaryFilename)
throws FileNotFoundException, IOException, UnsupportedFormatException {
- FileInputStream inStream = null;
-
- try {
- final File file = new File(binaryFilename);
- inStream = new FileInputStream(file);
- final ByteBuffer buffer = inStream.getChannel().map(
- FileChannel.MapMode.READ_ONLY, 0, file.length());
- return BinaryDictInputOutput.readDictionaryBinary(
- new BinaryDictInputOutput.ByteBufferWrapper(buffer), null);
- } finally {
- if (inStream != null) {
- try {
- inStream.close();
- } catch (IOException e) {
- // do nothing
- }
- }
- }
+ final File file = new File(binaryFilename);
+ final BinaryDictReader reader = new BinaryDictReader(file);
+ reader.openBuffer(new BinaryDictReader.FusionDictionaryBufferFromByteBufferFactory());
+ return BinaryDictInputOutput.readDictionaryBinary(reader, null);
}
/**