Skip to content

Commit 3072759

Browse files
committed
DicMaker.java修正:close()が無いとbrowse時にEOFExceptionが発生
1 parent c7e79bb commit 3072759

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

DicMaker.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
import java.io.FileInputStream;
33
import java.io.FileReader;
44
import java.io.InputStreamReader;
5+
import java.nio.charset.Charset;
6+
import java.nio.charset.CharsetDecoder;
7+
import java.nio.charset.CodingErrorAction;
58
import java.util.Properties;
69

710
import jdbm.RecordManager;
@@ -29,7 +32,7 @@ static public void main(String argv[]) {
2932

3033
try {
3134
// open database and setup an object cache
32-
recman = RecordManagerFactory.createRecordManager("C:/skk_dict_btree", props );
35+
recman = RecordManagerFactory.createRecordManager("skk_dict_btree", props );
3336

3437
// try to reload an existing B+Tree
3538
recid = recman.getNamedObject( BTREE_NAME );
@@ -50,8 +53,11 @@ static public void main(String argv[]) {
5053
InputStreamReader fr = null;
5154
BufferedReader br = null;
5255

53-
FileInputStream fis = new FileInputStream("C:/android-sdk-windows-1.5_r1/tools/skk_L_dic_for_android_sorted.utf8");
54-
fr = new InputStreamReader(fis, "UTF-8");
56+
FileInputStream fis = new FileInputStream("mazedict-utf8-sorted.txt");
57+
CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();
58+
decoder.onMalformedInput(CodingErrorAction.REPORT);
59+
decoder.onUnmappableCharacter(CodingErrorAction.REPORT);
60+
fr = new InputStreamReader(fis, decoder);
5561
br = new BufferedReader(fr);
5662

5763
int c = 0;
@@ -73,6 +79,7 @@ static public void main(String argv[]) {
7379

7480
// make the data persistent in the database
7581
recman.commit();
82+
recman.close();
7683

7784
} catch ( Exception e ) {
7885
throw new RuntimeException(e);

0 commit comments

Comments
 (0)