packagecom.hailian.util.translate;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.UnsupportedEncodingException;importjava.net.MalformedURLException;importjava.net.URL;importjava.net.URLConnection;importjava.net.URLDecoder;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;importjava.util.Random;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;public classTransApi {public static String Trans(String q,String targetlanguage) {//targetlanguage目标语言 en英语 cht中文繁体
String appid="***********";//申请的百度翻译id
String salt=String.valueOf(new Random().nextInt(100));
String sign=appid+q+salt+"*********";//id对应的密码
MessageDigest md5;try{
md5= MessageDigest.getInstance("MD5");
md5.update((sign).getBytes("UTF-8"));byte b[] =md5.digest();inti;
StringBuffer buf= new StringBuffer("");for(int offset=0; offset
i=b[offset];if(i<0){
i+=256;
}if(i<16){
buf.append("0");
}
buf.append(Integer.toHexString(i));
}
sign=buf.toString();
}catch (NoSuchAlgorithmException |UnsupportedEncodingException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
String result=getResult(q,sign,appid,salt,targetlanguage);
String content="{"+result;
String json=getDate(content);returnjson;
}//百度平台(翻译接口)相关数据
public staticString getResult(String q,String sign,String appid,String salt,String targetlanguage){
String result="";//拼接相关参数
String params="http://api.fanyi.baidu.com/api/trans/vip/translate?q="+q+"&from=auto&to="+targetlanguage+"&appid="+appid+"&salt="+salt+"&sign="+sign;try{
URL url= newURL(params);
URLConnection connection=url.openConnection();//设置连接时间(10*1000)
connection.setConnectTimeout(10*1000);//设置输出
connection.setDoOutput(true);//设置输出
connection.setDoInput(true);//设置缓存
connection.setUseCaches(false);//outputstream-----输出流
InputStream inputstream=connection.getInputStream();//缓存字符流
BufferedReader buffer = new BufferedReader(newInputStreamReader(inputstream));//返回相关结果
StringBuilder builder=newStringBuilder();while(buffer.read()!=-1){
builder.append(buffer.readLine());
}//返回相关结果
result=builder.toString();//缓存字符流关闭操作
buffer.close();
}catch(MalformedURLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}returnresult;
}//解析百度服务器平台返回的相关数据信息
public staticString getDate(String result){
String date="";
JSONObject object=JSONObject.fromObject(result);
JSONArray array=object.getJSONArray("trans_result");int length=array.size();for(int i=0;i
JSONObject params=JSONObject.fromObject(array.get(i));
String str=params.getString("dst");try{
str=URLDecoder.decode(str,"utf-8");
date=str;
}catch(UnsupportedEncodingException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}returndate;
}public static voidmain(String[] args) {
String trans= Trans("信息安全及保密承诺书","cht");
String transTOEn= Trans("信息安全及保密承诺书","en");
System.out.println(trans);
System.out.println(transTOEn);
}
}