前回は、ASP、PHP、C# を使用して Google 翻訳を実装し、API を開発することについて説明しました (タグ: Google 翻訳 API)。多くのプログラム コードは JAVA (JSP) で実装されているため、引き続き時間をかけて API を作成しました。 Java バージョン。この間、プログラムは比較的短いですが、それでもかなりエッチな情報を確認しました。
前章で述べたように、JAVAを使ってURLの内容を取得するのですが、今回の技術ではその取得を実装し、マッチング結果を正規化することで完成します。コードを見てください:
//javac GoogleTranslator.java -encoding utf-8
java.io.InputStreamをインポートします。
java.net.URLEncoderをインポートします。
java.util.regex.* をインポートします。
パブリック クラス GoogleTranslator{
public String getUrlContent(String path){
文字列 rtn = "";
int c;
試す{
java.net.URL l_url = 新しい java.net.URL(パス);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.setRequestProperty("ユーザーエージェント","Mozilla/4.0");
l_connection.connect();
入力ストリーム l_urlStream = l_connection.getInputStream();
while (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
byte[] b =新しいバイト[すべて];
l_urlStream.read(b);
rtn+= 新しい文字列(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(例外 e){
e.printStackTrace();
}
rtnを返します。
}
http://bizhi.downcodes.com
public String GetText(String Src){
文字列 Os=null;
試す{
String pUrl=" http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src, "gb2312 ");
文字列 pageContent =getUrlContent(pUrl);
if(!isNullOrEmpty(pageContent)){
Os= GetMatchString(pageContent,"(<div id=result_box dir="ltr">)([?:\s\S]*?)</div>",2);
}
}catch(例外 e){
e.printStackTrace();
}
オスを返します。
}
プライベートブール値 isNullOrEmpty(String param) {
戻りパラメータ == null || param.trim().length() == 0;
}
public String GetMatchString(String text,String pattern,int point){
パターン p = Pattern.compile(pattern);
マッチャー m = p.matcher(text);
if(m.find()) {
return m.group(point); //最初の項目と一致します
}
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 を使用するだけです。