WEB开发网
开发学院WEB开发Jsp JAVA (Jsp)利用Google的Translate开发API 阅读

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

 2009-07-02 16:35:28 来源:WEB开发网   
核心提示:上次我说了用asp,php,C#分别实现Google的Translate开发一个API ( Tags:Google Translate API ) ,由于很多程序代码由java实现(jsp),JAVA (Jsp)利用Google的Translate开发API,我还是利用一点时间做了一个java版本的,本人在JAVA方面

上次我说了用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.cncms.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一下就可以了。

Tags:JAVA Jsp 利用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接