当前位置: 首页 > 图文教程 > 网络编程 > JSP > JAVA (Jsp)利用Google的Translate开发API的代码

JSP
Hibernate save() saveorupdate()的用法
hibernate更新数据方法小结
jsp 复选框使用方法
JSP单选按钮验证、下拉框验证、复选框验证实现代码
jsp Hibernate批量更新和批量删除处理代码
JSP彩色验证码的实例代码
[J2SE]Java中3DES加密解密调用示例
【算法】扑克发牌算法实现
java易懂易用的MD5加密(可直接运行) (1)
java 易懂易用的MD5加密(可直接运行)(2)
java 截取字符串(判断汉字)
java 中文字符串数组按照音序排列
JAVA 18位身份证号码校验码的算法
jsp JFreeChart使用心得与例子
Hibernate 查询方式总结
java struts常见错误以及原因分析
Java 获取URL的内容
JAVA (Jsp)利用Google的Translate开发API的代码
java SOAPHEADER的web service
JSP与JS交互问题 值传递

JSP 中的 JAVA (Jsp)利用Google的Translate开发API的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 61 ::
收藏到网摘: n/a

上次我说了用ASP,PHP,C#分别实现Google的Translate开发一个API ( Tags:Google Translate API ) 由于很多程序代码由JAVA实现(JSP),我还是利用一点时间做了一个java版本的,本人在JAVA方面还是入门的程度,期间,查了一些资料,虽然程序比较短,但是还是比较淘气的。
和上一话所说的利用JAVA获取URL的内容,这篇的技术实现获取,然后正则匹配结果,就完成了。看代码:
复制代码 代码如下:

//javac GoogleTranslator.java -encoding utf-8
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.regex.*;
public class GoogleTranslator{
public String getUrlContent(String path){
String rtn = "";
int c;
try{
java.net.URL l_url = new java.net.URL(path);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.setRequestProperty("User-agent","Mozilla/4.0");
l_connection.connect();
InputStream l_urlStream = l_connection.getInputStream();
while (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
byte[] b =new byte[all];
l_urlStream.read(b);
rtn+= new String(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(Exception e){
e.printStackTrace();
}
return rtn;
}
public String GetText(String Src){
String Os=null;
try{
String pUrl="http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src,"gb2312") ;
String pageContent =getUrlContent(pUrl);
if(!isNullOrEmpty(pageContent)){
Os= GetMatchString(pageContent,"(<div id=result_box dir=\"ltr\">)([?:\\s\\S]*?)</div>",2);
}
}catch(Exception e){
e.printStackTrace();
}
return Os;
}
private boolean isNullOrEmpty(String param) {
return param == null || param.trim().length() == 0;
}
public String GetMatchString(String text,String pattern,int point){
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
if(m.find()) {
return m.group(point); //匹配第1项
}
return null;
}
public static void main(String[] args){
GoogleTranslator obj=new GoogleTranslator();
System.out.println(obj.GetText("cjjer是Java天才"));
}
};

然后保存为GoogleTranslator.java,然后使用:
复制代码 代码如下:

javac GoogleTranslator.java -encoding utf-8

编译了,然后JAVA一下就可以了。