Da última vez falei sobre usar ASP, PHP e C# para implementar o Google Translate e desenvolver uma API (Tags: API do Google Translate Como muito código do programa é implementado em JAVA (JSP), ainda usei algum tempo para fazer um). versão java. Ainda sou iniciante em JAVA. Durante esse período, verifiquei algumas informações, embora o programa seja relativamente curto, mas ainda é bastante travesso.
Conforme mencionado no capítulo anterior, usando JAVA para obter o conteúdo da URL, a tecnologia deste artigo implementa a aquisição, regulariza os resultados correspondentes e está completo. Veja o código:
//javac GoogleTranslator.java -encoding utf-8
importar java.io.InputStream;
importar java.net.URLEncoder;
importar java.util.regex.*;
classe pública GoogleTranslator{
string pública getUrlContent(Caminho da string){
String rtn = "";
interno c;
tentar{
java.net.URL l_url = novo java.net.URL(caminho);
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();
enquanto (( (c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
byte[] b =novo byte[todos];
l_urlStream.read(b);
rtn+= nova String(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(Exceção e){
e.printStackTrace();
}
retornar rtn;
}
http://bizhi.downcodes.com
public String GetText(String Src){
String Os=nulo;
tentar{
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(Exceção e){
e.printStackTrace();
}
retornar Os;
}
private boolean isNullOrEmpty(String parâmetro) {
retornar parâmetro == nulo || param.trim().length() == 0;
}
public String GetMatchString(String texto,String padrão,int ponto){
Padrão p = Padrão.compile(padrão);
Correspondente m = p.matcher(texto);
if(m.find()) {
return m.group(point); //Corresponde ao primeiro item
}
retornar nulo;
}
public static void main(String[] args){
GoogleTradutor obj=new GoogleTradutor();
System.out.println(obj.GetText("cjjer é um gênio Java"));
}
};
Em seguida, salve como GoogleTranslator.java e use:
javac GoogleTranslator.java -encoding utf-8
Após compilar, basta usar JAVA.