La dernière fois, j'ai parlé de l'utilisation d'ASP, PHP et C# pour implémenter Google Translate et développer une API (Tags : Google Translate API étant donné qu'une grande partie du code du programme est implémenté en JAVA (JSP), j'ai encore pris du temps pour créer une API. version java. Je suis encore débutant en JAVA. Pendant cette période, j'ai vérifié certaines informations. Bien que le programme soit relativement court, il reste assez méchant.
Comme mentionné dans le chapitre précédent, en utilisant JAVA pour obtenir le contenu de l'URL, la technologie de cet article implémente l'acquisition, puis régularise les résultats de correspondance, et c'est terminé. Regardez le code :
//javac GoogleTranslator.java -encoding utf-8
importer java.io.InputStream ;
importer java.net.URLEncoder ;
importer java.util.regex.* ;
classe publique GoogleTranslator{
chaîne publique getUrlContent (chemin de la chaîne) {
Chaîne rtn = "" ;
int c;
essayer{
java.net.URL l_url = new java.net.URL(chemin);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.setRequestProperty("Agent-utilisateur","Mozilla/4.0");
l_connection.connect();
InputStream l_urlStream = l_connection.getInputStream();
while (( ( c= l_urlStream.read() )!=-1)){
int all=l_urlStream.available();
octet[] b =nouvel octet[tout];
l_urlStream.read(b);
rtn+= nouvelle chaîne(b, "UTF-8");
}
//Thread.sleep(2000);
l_urlStream.close();
}attraper(Exception e){
e.printStackTrace();
}
retour rtn ;
}
http://bizhi.downcodes.com
chaîne publique GetText (chaîne Src) {
Chaîne Os=null ;
essayer{
String pUrl=" http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src, "gb2312 ");
Chaîne pageContent =getUrlContent(pUrl);
si(!isNullOrEmpty(pageContent)){
Os= GetMatchString(pageContent,"(<div id=result_box dir="ltr">)([?:\s\S]*?)</div>",2);
}
}attraper(Exception e){
e.printStackTrace();
}
retourner Os ;
}
booléen privé isNullOrEmpty (paramètre de chaîne) {
return param == null || param.trim().length() == 0;
}
public String GetMatchString (texte de chaîne, modèle de chaîne, point int) {
Modèle p = Modèle.compile(modèle);
Matcher m = p.matcher(texte);
si(m.find()) {
return m.group(point); // Correspond au premier élément
}
renvoie null ;
}
public static void main (String[] args){
GoogleTranslator obj=nouveau GoogleTranslator();
System.out.println(obj.GetText("cjjer est un génie Java"));
}
} ;
Enregistrez ensuite sous GoogleTranslator.java et utilisez :
javac GoogleTranslator.java -encoding utf-8
Après la compilation, utilisez simplement JAVA.