JAVA (Jsp)利用Google的Translate开发API

王朝学院·作者佚名  2009-07-03  
宽屏版  字体: |||超大  

上次我说了用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;

}

http://bizhi.knowsky.com

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一下就可以了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有