La última vez hablé sobre el uso de ASP, PHP y C# para implementar Google Translate y desarrollar una API (Etiquetas: API de Google Translate). Dado que gran parte del código del programa se implementa en JAVA (JSP), todavía dediqué algo de tiempo a crear una. Versión java. Todavía soy un principiante en JAVA. Durante este período, verifiqué cierta información. Aunque el programa es relativamente corto, todavía es bastante complicado.
Como se mencionó en el capítulo anterior, utilizando JAVA para obtener el contenido de la URL, la tecnología en este artículo implementa la adquisición y luego regulariza los resultados coincidentes, y está completo. Mira el código:
//javac GoogleTranslator.java -encoding utf-8
importar java.io.InputStream;
importar java.net.URLEncoder;
importar java.util.regex.*;
GoogleTranslator de clase pública{
cadena pública getUrlContent (ruta de cadena) {
Cadena rtn = "";
intc;
intentar{
java.net.URL l_url = nuevo java.net.URL(ruta);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.setRequestProperty("Agente de usuario","Mozilla/4.0");
l_connection.connect();
InputStream l_urlStream = l_connection.getInputStream();
mientras (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.disponible();
byte[] b =nuevo byte[todos];
l_urlStream.read(b);
rtn+= nueva cadena(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}catch(Excepción e){
e.printStackTrace();
}
regresar rtn;
}
http://bizhi.downcodes.com
Cadena pública GetText(String Src){
Cadena Os=nulo;
intentar{
String pUrl=" http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src, "gb2312 ");
Cadena contenido de página =getUrlContent(pUrl);
if(!isNullOrEmpty(contenido de la página)){
Os= GetMatchString(pageContent,"(<div id=result_box dir="ltr">)([?:\s\S]*?)</div>",2);
}
}catch(Excepción e){
e.printStackTrace();
}
devolver Os;
}
booleano privado isNullOrEmpty (parámetro de cadena) {
devolver parámetro == nulo || param.trim().length() == 0;
}
cadena pública GetMatchString (texto de cadena, patrón de cadena, punto int) {
Patrón p = Patrón.compile(patrón);
Emparejador m = p.matcher(texto);
if(m.buscar()) {
return m.group(point); //Coincide con el primer elemento
}
devolver nulo;
}
principal vacío estático público (String [] argumentos) {
Traductor de Google obj=nuevo Traductor de Google();
System.out.println(obj.GetText("cjjer es un genio de Java"));
}
};
Luego guárdelo como GoogleTranslator.java y use:
javac GoogleTranslator.java -encoding utf-8
Después de compilar, simplemente use JAVA.