91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java實現英文翻譯程序的方法

發布時間:2021-04-15 11:17:56 來源:億速云 閱讀:524 作者:小新 欄目:編程語言

小編給大家分享一下java實現英文翻譯程序的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體內容如下

1.功能簡介

將文本文件中的英文轉換為對應的中文

詞庫如下:

java實現英文翻譯程序的方法

源文件:

java實現英文翻譯程序的方法

翻譯后的文件:

java實現英文翻譯程序的方法

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

2.重要技術

(1)如何載入詞庫文件

   因為詞庫文件是 kry=value的形式,所有可以用到Properties類的load函數

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

可以用StringTokenizer類

(3)如何進行翻譯

直接用中文替換相應的英文

3.項目結構

java實現英文翻譯程序的方法

(4)代碼編寫

①FileLoader類

/*文件載入類,將源文件中的內容輸出到字節數組中*/
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類

/*文件翻譯,將字節數組變為字符串,分離出其中的單詞,然后翻譯為對應的漢字,去掉空格,變為字符串*/
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");//以字符載入時沒有亂碼,以字節載入時出現了亂碼
  pps.load(fis);
  fis.close();
 }catch(Exception ex){
  ex.printStackTrace(System.out);
  System.out.println("載入詞庫時出錯");
 }
 //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(); //分割出的一個個單詞
 
  lowerSub = sub.toLowerCase();//統一轉換為小寫,這樣可以簡化詞庫
  //System.out.println(sub);
  newSub = pps.getProperty(lowerSub);
  if(newSub != null){ //如果找到了匹配的漢字,則進行替換
  dstTxt = dstTxt.replaceFirst(sub, newSub); //只替換第一個,即只替換了當前的字符串,否則容易造成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();
 }
}

④主函數

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, "翻譯完畢");
 }
 
}

最后的項目結構如下:

java實現英文翻譯程序的方法

以上是“java實現英文翻譯程序的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉义县| 定远县| 日喀则市| 香港| 淮安市| 合川市| 慈利县| 昭觉县| 柘城县| 阜城县| 常州市| 云林县| 青阳县| 新密市| 介休市| 海丰县| 湟中县| 新疆| 云南省| 嘉黎县| 阿拉善右旗| 安西县| 祁门县| 克什克腾旗| 遵义市| 东阿县| 镇原县| 揭东县| 康平县| 昌吉市| 呈贡县| 安远县| 克拉玛依市| 通城县| 安达市| 苍溪县| 鄂尔多斯市| 岳池县| 将乐县| 靖州| 吴桥县|