免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java案例_英漢字典

在寫代碼的時候,當鼠標懸浮在某一個單詞上面的時候,有道詞典點有時會彈出一個消息氣泡,在里面中給出關(guān)于這個單詞相關(guān)的解釋,下面給大家展示一個使用Java基礎(chǔ)語言編寫的英漢字典案例:

實現(xiàn)功能

輸入英文給出對應(yīng)的中文翻譯,如果沒有這個單詞沒有被收錄會有相關(guān)提示

代碼編寫環(huán)境

JDK1.8.0_191

Eclipse:2019-03 (4.11.0)

素材

dict.txt

字典資源文本文件,保存一些下列格式的文件,英文和翻譯之間用制表符隔開:

Africa n. 非洲

Aids n. 愛滋病

America n. 美洲

April n. 四月

案例實現(xiàn)用到的技術(shù)

IO流

MapHashMap

字符串分割

異常處理

代碼思路

1、 根據(jù)字典文件路徑創(chuàng)建file對象

2、 判斷file對象是否為空,不為空就繼續(xù),否則直接返回null

3、 File不為空創(chuàng)建InputStreamReaderBufferedReader對象

4、 循環(huán)讀取字典文本中的內(nèi)容,切割得到數(shù)組,保存在map中

5、 提示輸入單詞,查詢單詞輸出查詢結(jié)果

運行效果

開始運行的提示


查詢成功的反饋


單詞不存在的反饋


案例代碼

編寫方法讀取文本中的內(nèi)容

package com.feng.demo01;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStreamReader;

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

/**

 * 英漢字典案例

 * @author dushine

*/

public class GetDict {

public static void main(String[] args) {

String path = "E:\\dict.txt";

// 獲取字典中的所有內(nèi)容

Map<String, String> dict = getText(path);

// 判斷字典是否為空,提示輸入單詞,獲取查詢結(jié)果

if (dict != null) {

@SuppressWarnings("resource")

// 獲取輸入內(nèi)容

Scanner input = new Scanner(System.in);

System.out.println("請輸入要查詢的單詞:");

String word = input.next();

// 查詢字典獲取中文,如果沒有也給出反饋

String ret = dict.get(word);

if (ret != null) {

System.out.println("查詢結(jié)果:\n"+word + "" + ret);

} else {

System.out.println("您查詢的單詞尚未收錄,敬請期待!");

}

}

}

/**

 * 獲取字典文件中內(nèi)容

 * @param path

 * @return

 */

private static Map<String, String> getText(String path) {

// 可能會出現(xiàn)異常

try {

// 根據(jù)路徑創(chuàng)建文件對象

File file = new File(path);

// 判斷路徑指向的文件是否存在

if (file.exists() && file.isFile()) {

// 創(chuàng)建map,存儲讀取得到的內(nèi)容

Map<String, String> dict = new HashMap<String, String>();

System.out.println("文件路徑正確,正在解析。。。");

// 創(chuàng)建輸入流對象

InputStreamReader reader =

new InputStreamReader(new FileInputStream(file), "gbk");

BufferedReader bufferedReader = new BufferedReader(reader);

String text = null;

// 循環(huán)讀取文件內(nèi)容

while ((text = bufferedReader.readLine()) != null) {

// 切割每一行內(nèi)容,得到數(shù)組

String[] arr = text.split("\t");

// 把切割得到的內(nèi)容放入map

dict.put(arr[0], arr[1]);

}

// 讀取結(jié)束,關(guān)閉流對象并返回結(jié)果

reader.close();

return dict;

} else {

System.out.println("字典崩潰啦,下次再來使用吧。。。");

}

} catch (Exception e) {

System.out.println("字典好像出了點問題、文件內(nèi)容出錯啦。。。");

e.printStackTrace();

}

// 路徑指向的不是文件或者文件不存在返回null

return null;

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
簡單聊天程序java socket
JAVA網(wǎng)絡(luò)編程,基本概念與開發(fā)
JAVA實現(xiàn)遠程文件讀取
java中io操作小例子
java socket編程的一個例子(線程池)
java如何調(diào)用http接口?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服