Java JSP利用Google的Translate開發(fā)API
上次我說了用ASP,PHP,C#分別實(shí)現(xiàn)Google的Translate開發(fā)一個(gè)API ,由于很多程序代碼由Java JSP實(shí)現(xiàn),我還是利用一點(diǎn)時(shí)間做了一個(gè)Java JSP版本的,本人在Java方面還是入門的程度,期間,查了一些資料,雖然程序比較短,但是還是比較淘氣的。
和上一話所說的利用Java JSP獲取URL的內(nèi)容,這篇的技術(shù)實(shí)現(xiàn)獲取,然后正則匹配結(jié)果,就完成了。看代碼:
- //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項(xiàng)
- }
- return null;
- }
- public static void main(String[] args){
- GoogleTranslator obj=new GoogleTranslator();
- System.out.println(obj.GetText("cjjer是Java天才"));
- }
- };
然后保存為GoogleTranslator.java,然后使用:Javac JSP GoogleTranslator.java -encoding utf-8,編譯了,然后Java一下就可以了。
【編輯推薦】