介绍
小编给大家分享一下java实现英文翻译程序的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
具体内容如下
<强> 1。功能简介强>
将文本文件中的英文转换为对应的中文
词库如下:
源文件:
翻译后的文件:
输入源文件路径,将翻译后的内容输出到result.txt文件中。
<强> 2。重要技术强>
(1)如何载入词库文件
,,因为词库文件是,kry=值的形式,所有可以用到属性类的加载函数
(2)如何将源文件中的一段英文分理处一个个的单词
可以用StringTokenizer类
(3)如何进行翻译
直接用中文替换相应的英文
<强> 3。项目结构强>
(4)代码编写
①FileLoader类
/*文件载入类,将源文件中的内容输出到字节数组中*/package zhidao3_2; import java.io.FileInputStream; import java.io.File; public class  FileLoad { ,public static  byte [], getContent (String 文件名)throws 异常{ ,File File =, new 文件(文件名); ,如果(! file.exists ()) { System.out.println才能(“输入有误,该文件不存在“); ,} ,FileInputStream fis =, new FileInputStream(文件); ,int length =, (int) file.length (); ,byte [], data =, new 字节(长度); ,fis.read(数据); ,fis.close (); ,return 数据; ,} }
②TxtTrans类
/*文件翻译,将字节数组变为字符串,分离出其中的单词,然后翻译为对应的汉字,去掉空格,变为字符串*/package zhidao3_2; import java.util.StringTokenizer; import java.util.Properties; import . io . *; public class  TxtTrans { ,private Properties pp; ,public TxtTrans () { ,loadCiku (); ,} ,public void  loadCiku () {=,,pps  new 属性(); ,尝试{ FileReader 才能;fis =, new FileReader (“g:/ciku.txt");//以字符载入时没有乱码,以字节载入时出现了乱码 pps.load才能(fis); fis.close才能(); ,}捕捉(Exception 交货){ ex.printStackTrace才能(system . out); System.out.println才能(“载入词库时出错“); ,} ,//System.out.println (pps.get (“china")),; , ,} ,public String 反式(byte[],数据){ ,String srcTxt =, new 字符串(数据); ,String dstTxt =, srcTxt; , ,String delim =,“,, ! \ n \ t",,//分隔符可以指定 ,StringTokenizer st =, new StringTokenizer (delim srcTxt,假); ,String 子,lowerSub newSub; ,//int i=0; ,而(st.hasMoreTokens ()) { 时间=sub 才能;st.nextToken();,//分割出的一个个单词 , 时间=lowerSub 才能;sub.toLowerCase();//统一转换为小写,这样可以简化词库//System.out.println才能(子); 时间=newSub 才能;pps.getProperty (lowerSub); 如果才能(newSub !=, null){,//如果找到了匹配的汉字,则进行替换 dstTxt 才能=,dstTxt.replaceFirst(子,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 输出(String 文本,String 文件名)throws 异常{ ,File File =, new 文件(文件名); ,FileOutputStream fos =, new FileOutputStream(文件); ,fos.write (text.getBytes ()); ,fos.close (); ,} }java实现英文翻译程序的方法