package com.hughes.android.dictionary.engine;
-import com.hughes.android.dictionary.DictionaryInfo;
-import com.hughes.util.CachingList;
-import com.hughes.util.raf.RAFList;
-import com.hughes.util.raf.RAFListSerializer;
-import com.hughes.util.raf.RAFSerializable;
-
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.File;
import java.io.IOException;
+import java.io.ObjectOutputStream;
import java.io.PrintStream;
import java.io.RandomAccessFile;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import com.hughes.android.dictionary.DictionaryInfo;
+import com.hughes.util.CachingList;
+import com.hughes.util.raf.RAFList;
+import com.hughes.util.raf.RAFListSerializer;
+import com.hughes.util.raf.RAFSerializable;
+
public class Dictionary implements RAFSerializable<Dictionary> {
private static final int CACHE_SIZE = 5000;
// persisted
final int dictFileVersion;
- private final long creationMillis;
+ public final long creationMillis;
public final String dictInfo;
public final List<PairEntry> pairEntries;
public final List<TextEntry> textEntries;
@Override
public void write(DataOutput out) throws IOException {
RandomAccessFile raf = (RandomAccessFile)out;
+ if (dictFileVersion < 7) throw new RuntimeException("write function cannot write formats older than v7!");
raf.writeInt(dictFileVersion);
raf.writeLong(creationMillis);
raf.writeUTF(dictInfo);