本文需要配合文本库使用,在文章底部附文本库文件 废话不多说 直接上代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
/**
* 汉字字典,可以查询汉字的拼音,部首和笔画
*
*/
public class HanDict {
/** 汉字最小unicode值 */
public static final char HAN_MIN = '一';
/** 汉字最大unicode值 */
public static final char HAN_MAX = '龥';
/** 汉字数据,从"一"到"龥" */
public static final String[] HAN_DATA = new String[HAN_MAX - HAN_MIN + 1];
/** 汉字数据文件 */
private static final String HAN_DATA_FILE = "data.txt";
/** 汉字数据文件编码 */
private static final Charset FILE_CHARSET = Charset.forName("utf-8");
/** 拼音数据下标 */
private static final int INDEX_PY = 0;
/** 部首数据下标 */
private static final int INDEX_BS = 1;
/** 笔画数据下标 */
private static final int INDEX_BH = 2;
/** 拼音数据(中文字母注音)下标 */
private static final int INDEX_PY_HAN = 0;
/** 拼音数据(英文字母注音)下标 */
private static final int INDEX_PY_EN = 1;
static {
try {
loadHanData();
} catch (IOException e) {
System.err.println("载入汉字数据错误:" + e.getMe