지난번에는 ASP, PHP, C#을 사용하여 Google 번역을 구현하고 API(태그: Google 번역 API)를 개발하는 방법에 대해 이야기했습니다. 많은 프로그램 코드가 JAVA(JSP)로 구현되어 있기 때문에 여전히 시간이 좀 걸렸습니다. java 버전입니다. 저는 아직 JAVA 초보자입니다. 이 기간 동안 프로그램이 비교적 짧긴 하지만, 여전히 꽤 버릇이 있습니다.
이전 장에서 언급한 것처럼 JAVA를 사용하여 URL의 내용을 가져오고, 이 기사의 기술은 가져오기를 구현한 다음 일치하는 결과를 정규화하여 완성됩니다. 코드를 보세요:
//javac GoogleTranslator.java -encoding utf-8
import java.io.InputStream;
java.net.URLEncoder 가져오기;
import java.util.regex.*;
공개 클래스 GoogleTranslator{
공개 문자열 getUrlContent(문자열 경로){
문자열 rtn = "";
정수 c;
노력하다{
java.net.URL l_url = 새로운 java.net.URL(경로);
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();
바이트[] b =새 바이트[모두];
l_urlStream.read(b);
rtn+= new String(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(예외 e){
e.printStackTrace();
}
rtn을 반환;
}
http://bizhi.downcodes.com
공개 문자열 GetText(문자열 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();
}
Os를 반환합니다.
}
개인 부울 isNullOrEmpty(String param) {
return param == null || param.trim().length() == 0;
}
public String GetMatchString(문자열 텍스트, 문자열 패턴, 정수 포인트){
패턴 p = Pattern.compile(패턴);
일치자 m = p.matcher(text);
if(m.find()) {
return m.group(point); //첫 번째 항목과 일치
}
null을 반환;
}
공개 정적 무효 메인(문자열[] 인수){
GoogleTranslator obj=new GoogleTranslator();
System.out.println(obj.GetText("cjjer는 Java 천재입니다."));
}
};
그런 다음 GoogleTranslator.java로 저장하고
javac GoogleTranslator.java -encoding utf-8을
사용합니다.
컴파일 후 JAVA를 사용하면 됩니다.