欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-04 10:03:46
由于很多程序代码由java实现(jsp),我还是利用一点时间做了一个java版本的,本人在java方面还是入门的程度,期间,查了一些资料,虽然程序比较短,但是还是比较淘气的...
由于很多程序代码由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一下就可以了。