在java中实现中转英,使用百度翻译api支持中转英,中简转中繁等等

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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值