博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用有道翻译实现英汉互译
阅读量:7121 次
发布时间:2019-06-28

本文共 2351 字,大约阅读时间需要 7 分钟。

以下程序需要google jason jar的辅助,你可以从 http://pan.baidu.com/s/17qSuq 这里下载。

程序如下:

import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.StringWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import com.google.gson.JsonObject;import com.google.gson.JsonParser;public class Main{    public static void main(String[] args) throws Exception{        System.out.println(translate("预防登革热。最近格林纳达登革热病例显示多个和病毒变异的趋势和增加的风险"));         System.out.println(translate("Prevention of dengue fever. Grenada dengue cases show multiple recently and the trend of virus variation and increase the risk"));    }        public static String translate(String text) throws Exception{        final String Youdao_Url = "http://fanyi.youdao.com/openapi.do?keyfrom=sxt102400&key=1695079984&type=data&doctype=json&version=1.1&q=";                StringBuilder YoudaoAPIURL = new StringBuilder();        YoudaoAPIURL.append(Youdao_Url).append(URLEncoder.encode(text, "UTF-8"));                HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(YoudaoAPIURL.toString()).openConnection();                String rawData=stream2string(httpURLConnection.getInputStream());        JsonObject jsonObj = new JsonParser().parse(rawData).getAsJsonObject();        if ("0".equals(jsonObj.get("errorCode").toString()))        {            String finalData = jsonObj.get("translation").getAsString();            return finalData;        }else{            return "Error!";        }    }        /**     * Transform stream to String     * @param is     * @return     */    private static String stream2string(InputStream is) {        try {            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));            StringWriter writer = new StringWriter();                        char[] buffer = new char[10240];            int n;            while ((n = reader.read(buffer)) != -1) {                writer.write(buffer, 0, n);            }            reader.close();            return writer.toString();        } catch (Exception e) {            throw new RuntimeException(e);        }    }}

控制台输出如下:

Prevention of dengue fever. Grenada dengue cases show multiple recently and the trend of virus variation and increase the risk 预防登革热。最近格林纳达登革热病例显示多个和病毒变异的趋势,增加风险

 有道的翻译质量还是不错的。

转载地址:http://iliel.baihongyu.com/

你可能感兴趣的文章
贪心算法
查看>>
ANR问题的log位置
查看>>
BeanFactoryPostProcessor接口(容器后处理器)
查看>>
撤销本地的commit
查看>>
Acad::ErrorStatus
查看>>
tar打包/解包用法
查看>>
一个根据相似度的去重方法
查看>>
Tomcat 性能优化
查看>>
增加从mysql
查看>>
对docker隔离性的理解
查看>>
lnmp的环境搭建
查看>>
mysql处理海量数据时的一些优化查询速度方法
查看>>
javaScript的字符串对象
查看>>
heartbeat V2实现MySQL+NFS高可用
查看>>
Netscaler 10.5 VPX与XenApp XenDesktop 集成配置系列之三enable StoreFront Remote Access
查看>>
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程(转)
查看>>
函数作为参数传递
查看>>
ViolinMemory上市遇低迷 唱衰闪存为哪般?
查看>>
shell脚本-监控系统资源并通过短信报警
查看>>
2014-03-08_javascrit_controller&status
查看>>