JAVA (Jsp)利用Google的Translate開發(fā)API的代碼
更新時間:2008年12月10日 12:32:31 作者:
上次我說了用ASP,PHP,C#分別實現(xiàn)Google的Translate開發(fā)一個API ( Tags:Google Translate API )
由于很多程序代碼由JAVA實現(xiàn)(JSP),我還是利用一點時間做了一個java版本的,本人在JAVA方面還是入門的程度,期間,查了一些資料,雖然程序比較短,但是還是比較淘氣的。
和上一話所說的利用JAVA獲取URL的內(nèi)容,這篇的技術(shù)實現(xiàn)獲取,然后正則匹配結(jié)果,就完成了??创a:
//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一下就可以了。
和上一話所說的利用JAVA獲取URL的內(nèi)容,這篇的技術(shù)實現(xiàn)獲取,然后正則匹配結(jié)果,就完成了??创a:
復(fù)制代碼 代碼如下:
//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,然后使用:
復(fù)制代碼 代碼如下:
javac GoogleTranslator.java -encoding utf-8
編譯了,然后JAVA一下就可以了。
相關(guān)文章
jsp登錄注冊完整實現(xiàn)代碼(增刪改查+網(wǎng)頁+數(shù)據(jù)庫)
這篇文章主要給大家介紹了關(guān)于jsp登錄注冊完整實現(xiàn)代碼的相關(guān)資料,其中包括增刪改查+網(wǎng)頁+數(shù)據(jù)庫,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jsp具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01jsp使用ECharts動態(tài)在地圖上標(biāo)識點
echarts地圖展示功能很強(qiáng)大,官網(wǎng)上靜態(tài)展示的例子很多了,動態(tài)的資料少,需要參考本文的可以進(jìn)來了解一下。2016-10-10servlet+JSP+mysql實現(xiàn)文件上傳的方法
這篇文章主要介紹了servlet+JSP+mysql實現(xiàn)文件上傳的方法,涉及JSP文件傳輸與判斷及數(shù)據(jù)庫操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11JSP中的FORM表單中只有一個input文本時,按回車鍵將會自動提交表單
這篇文章主要介紹了JSP中的FORM表單中只有一個input文本的時候,按回車鍵將會自動將表單提交的相關(guān)資料,需要的朋友可以參考下2017-01-01jsp利用application統(tǒng)計在線人數(shù)的方法
這篇文章主要介紹了jsp利用application統(tǒng)計在線人數(shù)的方法,代碼中備有較為詳盡的注釋便于理解,是比較實用的技巧,需要的朋友可以參考下2015-01-01