最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)英文翻譯程序

 更新時(shí)間:2019年06月25日 15:51:59   作者:bobo1356  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)英文翻譯程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java實(shí)現(xiàn)英文翻譯程序的具體代碼,供大家參考,具體內(nèi)容如下

1.功能簡(jiǎn)介

將文本文件中的英文轉(zhuǎn)換為對(duì)應(yīng)的中文

詞庫(kù)如下:

源文件:


翻譯后的文件:


輸入源文件路徑,將翻譯后的內(nèi)容輸出到result.txt文件中。

2.重要技術(shù)

(1)如何載入詞庫(kù)文件

   因?yàn)樵~庫(kù)文件是 kry=value的形式,所有可以用到Properties類的load函數(shù)

(2)如何將源文件中的一段英文分理處一個(gè)個(gè)的單詞

可以用StringTokenizer類

(3)如何進(jìn)行翻譯

直接用中文替換相應(yīng)的英文

3.項(xiàng)目結(jié)構(gòu)


(4)代碼編寫

①FileLoader類

/*文件載入類,將源文件中的內(nèi)容輸出到字節(jié)數(shù)組中*/
package zhidao3_2;
import java.io.FileInputStream;
import java.io.File;
public class FileLoad {
 public static byte[] getContent(String fileName)throws Exception{
 File file = new File(fileName);
 if(!file.exists()){
  System.out.println("輸入有誤,該文件不存在");
 }
 FileInputStream fis = new FileInputStream(file);
 int length = (int)file.length();
 byte[] data = new byte[length];
 fis.read(data);
 fis.close();
 return data;
 }
}

②TxtTrans類

/*文件翻譯,將字節(jié)數(shù)組變?yōu)樽址蛛x出其中的單詞,然后翻譯為對(duì)應(yīng)的漢字,去掉空格,變?yōu)樽址?/
package zhidao3_2;
import java.util.StringTokenizer;
import java.util.Properties;
import java.io.*;
public class TxtTrans {
 private Properties pps;
 public TxtTrans(){
 loadCiku();
 }
 public void loadCiku(){
 pps = new Properties();
 try{
  FileReader fis = new FileReader("g:/ciku.txt");//以字符載入時(shí)沒(méi)有亂碼,以字節(jié)載入時(shí)出現(xiàn)了亂碼
  pps.load(fis);
  fis.close();
 }catch(Exception ex){
  ex.printStackTrace(System.out);
  System.out.println("載入詞庫(kù)時(shí)出錯(cuò)");
 }
 //System.out.println(pps.get("china")) ;
 
 }
 public String trans(byte[] data){
 String srcTxt = new String(data);
 String dstTxt = srcTxt;
 
 String delim = " ,.!\n\t"; //分隔符可以指定
 StringTokenizer st = new StringTokenizer(srcTxt,delim,false);
 String sub,lowerSub,newSub;
 //int i=0;
 while(st.hasMoreTokens()){
  sub = st.nextToken(); //分割出的一個(gè)個(gè)單詞
 
  lowerSub = sub.toLowerCase();//統(tǒng)一轉(zhuǎn)換為小寫,這樣可以簡(jiǎn)化詞庫(kù)
  //System.out.println(sub);
  newSub = pps.getProperty(lowerSub);
  if(newSub != null){ //如果找到了匹配的漢字,則進(jìn)行替換
  dstTxt = dstTxt.replaceFirst(sub, newSub); //只替換第一個(gè),即只替換了當(dāng)前的字符串,否則容易造成ch我na的例子
  //System.out.println(dstTxt);
  }
 }
 
 return dstTxt.replaceAll(" ", ""); //去掉空格
 }
 
 
 
}

③FileOutput類

/*將字符串輸出到文件*/
package zhidao3_2;
import java.io.File;
import java.io.FileOutputStream;
public class FileOutput {
 public static void output(String text,String fileName)throws Exception{
 File file = new File(fileName);
 FileOutputStream fos = new FileOutputStream(file);
 fos.write(text.getBytes());
 fos.close();
 }
}

④主函數(shù)

package zhidao3_2;
import javax.swing.JOptionPane;
public class Main {
 
 public static void main(String[] args) {
 String srcFile = JOptionPane.showInputDialog("輸入源文件");
 try{
  byte[] data = FileLoad.getContent(srcFile);
  TxtTrans tt = new TxtTrans();
  String dString = tt.trans(data);
  FileOutput.output(dString, "g:/result.txt");
 }catch(Exception ex){
  JOptionPane.showMessageDialog(null, "操作異常");
  System.exit(1);
 }
 
 
 JOptionPane.showMessageDialog(null, "翻譯完畢");
 }
 
}

最后的項(xiàng)目結(jié)構(gòu)如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java獲得元素屬性的注解信息的步驟

    Java獲得元素屬性的注解信息的步驟

    在Java編程中,注解是一種為代碼添加元數(shù)據(jù)的方式,通過(guò)反射機(jī)制,我們可以獲取元素屬性上的注解信息,這個(gè)過(guò)程對(duì)于框架開(kāi)發(fā)和元數(shù)據(jù)處理非常有用,能夠?qū)崿F(xiàn)更靈活的功能,對(duì)java獲得元素屬性的注解信息相關(guān)知識(shí)感興趣的朋友一起看看吧
    2024-09-09
  • java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目

    java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目

    這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • ApplicationListenerDetector監(jiān)聽(tīng)器判斷demo

    ApplicationListenerDetector監(jiān)聽(tīng)器判斷demo

    這篇文章主要為大家介紹了ApplicationListenerDetector監(jiān)聽(tīng)器判斷demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • SpringCloud之Config配置中心與Redis分布式鎖詳解

    SpringCloud之Config配置中心與Redis分布式鎖詳解

    這篇文章主要給大家介紹了SpringCloud Alibaba中Config配置中心,Redis分布式鎖,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考閱讀
    2023-05-05
  • Java中JWT的使用的詳細(xì)教程

    Java中JWT的使用的詳細(xì)教程

    JWT的本質(zhì)就是一個(gè)字符串,它是將用戶信息保存到一個(gè)Json字符串中,然后進(jìn)行編碼后得到一個(gè)JWT token,并且這個(gè)JWT token帶有簽名信息,接收后可以校驗(yàn)是否被篡改,所以可以用于在各方之間安全地將信息作為Json對(duì)象傳輸,本文介紹了Java中JWT的使用,需要的朋友可以參考下
    2023-02-02
  • SpringBoot整合Kafka完成生產(chǎn)消費(fèi)的方案

    SpringBoot整合Kafka完成生產(chǎn)消費(fèi)的方案

    網(wǎng)上找了很多管理kafka整合springboot的教程,但是很多都沒(méi)辦法應(yīng)用到生產(chǎn)環(huán)境,很多配置都是缺少,或者不正確的,只能當(dāng)個(gè)demo,所以本文給大家介紹了SpringBoot整合Kafka完成生產(chǎn)消費(fèi)的方案,需要的朋友可以參考下
    2024-12-12
  • Java基礎(chǔ)學(xué)習(xí)之接口詳解

    Java基礎(chǔ)學(xué)習(xí)之接口詳解

    接口,是Java語(yǔ)言中一種引用類型,是方法的集合,如果說(shuō)類的內(nèi)部封裝了成員變量、構(gòu)造方法和成員方法,那么接口的內(nèi)部主要就是封裝了方法。本文通過(guò)一些示例詳細(xì)為大家展示了接口的使用,需要的可以參考一下
    2022-10-10
  • Mybatis注解增刪改查的實(shí)例代碼

    Mybatis注解增刪改查的實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Mybatis注解增刪改查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • SpringCloud組件OpenFeign之?dāng)r截器解讀

    SpringCloud組件OpenFeign之?dāng)r截器解讀

    這篇文章主要介紹了SpringCloud組件OpenFeign之?dāng)r截器用法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • SpringBoot+Logback實(shí)現(xiàn)一個(gè)簡(jiǎn)單的鏈路追蹤功能

    SpringBoot+Logback實(shí)現(xiàn)一個(gè)簡(jiǎn)單的鏈路追蹤功能

    Spring Boot默認(rèn)使用LogBack日志系統(tǒng),并且已經(jīng)引入了相關(guān)的jar包,所以我們無(wú)需任何配置便可以使用LogBack打印日志。這篇文章主要介紹了SpringBoot+Logback實(shí)現(xiàn)一個(gè)簡(jiǎn)單的鏈路追蹤功能,需要的朋友可以參考下
    2019-10-10

最新評(píng)論

璧山县| 玉树县| 孟州市| 石狮市| 惠水县| 田东县| 工布江达县| 曲沃县| 鄂伦春自治旗| 龙岩市| 合水县| 灵寿县| 吐鲁番市| 乌海市| 双城市| 响水县| 东阳市| 临安市| 高要市| 南皮县| 油尖旺区| 织金县| 通辽市| 七台河市| 瑞丽市| 嘉禾县| 报价| 屏南县| 新巴尔虎左旗| 温州市| 棋牌| 宁城县| 简阳市| 临清市| 福贡县| 饶平县| 中山市| 东乌珠穆沁旗| 宜兰市| 永春县| 读书|