技术开发 频道

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

  【IT168 技术文档】上次我说了用ASP,PHP,C#分别实现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,"( )([?:\\s\\S]*?) ",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一下就可以了。

0
相关文章