При написании кода, когда определенное слово парило над ним, путем словарь точка иногда выскочит сообщение пузыря, объяснение дается на соответствующем слове в нем, следующем , чтобы показать вам , написанную с использованием языка Java основой английский-китайский словарь случай: функция: вход английский, дает соответствующий китайский перевод, если не слово , не будет включены подсказки кодирования среды JDK: 1.8.0_191 затмение: 2019-03 (4.11.0) материал: ДИКТ .txt словарь ресурсов текстовые файлы, сохранять файлы в следующих форматах, разделенных вкладок между английским и переводом: . Африка п-Африка СПИД п-СПИД. Америка п-Америка. Апрель п-апреля.
Технология Case используется для достижения:
IO поток
Map-HashMap
разделить строку
обработки исключений коды , что идеи 1, согласно словарю пути к файлу, создать объектный файл 2, файл , чтобы определить , является ли нулевым объект, а не пустые продолжать, в противном случае прямого возврата нуль 3, Файл не создает InputStreamReader и BufferedReader объекта пуст, 4, цикл считывает содержимое словаря текста, полученное путем резки массивов, хранящееся на карте 5, запрашивает слово, запрос слова, выходные результатов запроса операционных результатов начало работы советов:
Запрос успешной обратной связи
Там нет ни слова обратной связи
Case Код:
Напишите метод , чтобы прочитать содержимое текстового
пакета com.feng.demo01;
импорт java.io.BufferedReader;
импорт java.io.File;
импорт java.io.FileInputStream;
импорт java.io.InputStreamReader;
импорт java.util.HashMap;
импорт java.util.Map;
импорт java.util.Scanner;
/ **
*英汉字典案例
* @author dushine
* /
класс GetDict общественности {
public static void main(String[] args) {
String path = "E:\\dict.txt";
// 获取字典中的所有内容
Map<String, String> dict = getText(path);
// 判断字典是否为空,提示输入单词,获取查询结果
if (dict != null) {
@SuppressWarnings("resource")
// 获取输入内容
Scanner input = new Scanner(System.in);
System.out.println("请输入要查询的单词:");
String word = input.next();
// 查询字典获取中文,如果没有也给出反馈
String ret = dict.get(word);
if (ret != null) {
System.out.println("查询结果:\n"+word + ":" + ret);
} else {
System.out.println("您查询的单词尚未收录,敬请期待!");
}
}
}
/**
* 获取字典文件中内容
* @param path
* @return
*/
private static Map<String, String> getText(String path) {
// 可能会出现异常
try {
// 根据路径创建文件对象
File file = new File(path);
// 判断路径指向的文件是否存在
if (file.exists() && file.isFile()) {
// 创建map,存储读取得到的内容
Map<String, String> dict = new HashMap<String, String>();
System.out.println("文件路径正确,正在解析。。。");
// 创建输入流对象
InputStreamReader reader =
new InputStreamReader(new FileInputStream(file), "gbk");
BufferedReader bufferedReader = new BufferedReader(reader);
String text = null;
// 循环读取文件内容
while ((text = bufferedReader.readLine()) != null) {
// 切割每一行内容,得到数组
String[] arr = text.split("\t");
// 把切割得到的内容放入map
dict.put(arr[0], arr[1]);
}
// 读取结束,关闭流对象并返回结果
reader.close();
return dict;
} else {
System.out.println("字典崩溃啦,下次再来使用吧。。。");
}
} catch (Exception e) {
System.out.println("字典好像出了点问题、文件内容出错啦。。。");
e.printStackTrace();
}
// 路径指向的不是文件或者文件不存在返回null
return null;
}
}