利用有道翻译实现英汉互译

简介:

以下程序需要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
预防登革热。最近格林纳达登革热病例显示多个和病毒变异的趋势,增加风险

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














本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/xiandedanteng/p/3447634.html,如需转载请自行联系原作者



相关文章
|
2月前
|
数据采集 自然语言处理 程序员
ChatGPT 调教日记(一):Markdown 解析器
ChatGPT 调教日记(一):Markdown 解析器
128 0
|
12月前
|
人工智能
langchain:Prompt在手,天下我有
prompts是大语言模型的输入,他是基于大语言模型应用的利器。没有差的大语言模型,只有差的prompts。 写好prompts才能发挥大语言模型300%的功力。 理论上,要写好prompts其实不是那么容易的,但是langchain把这个理论变成了现实,一起来看看吧。
|
人工智能 算法 数据挖掘
DeepMind携AlphaCode登Science封面,写代码能力不输程序员
DeepMind携AlphaCode登Science封面,写代码能力不输程序员
|
人工智能 JSON 前端开发
大火AutoGPT星标超PyTorch,网友:看清它的局限性
大火AutoGPT星标超PyTorch,网友:看清它的局限性
|
API Python
03 奇妙的Python库之【googletrans(翻译)】
03 奇妙的Python库之【googletrans(翻译)】
|
Web App开发 缓存 网络协议
【翻译工具】如何复活谷歌翻译(网页翻译)
【翻译工具】如何复活谷歌翻译(网页翻译)
869 0
|
机器学习/深度学习 人工智能 算法
PyHubWeekly | 第二十期:动漫迷不能错过的一款Python小工具!
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。 我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~ 本期为大家推荐GitHub上5个优质的Python项目,它们分别是: •AnimeGAN •faker •Background-Matting •PyBoy •Learning-to-See-in-the-Dark
PyHubWeekly | 第二十期:动漫迷不能错过的一款Python小工具!
|
程序员
讲真,这两款idea插件,能治愈你英语不好的病(2)
讲真,这两款idea插件,能治愈你英语不好的病
336 1
讲真,这两款idea插件,能治愈你英语不好的病(2)
|
机器学习/深度学习 人工智能 API
万圣节定制「丧尸生成器」,编辑部亲测,效果鬼畜
get 了这个网站,今年万圣节 C 位就是你的!
284 0
万圣节定制「丧尸生成器」,编辑部亲测,效果鬼畜
|
IDE Java 开发工具
讲真,这两款idea插件,能治愈你英语不好的病(1)
讲真,这两款idea插件,能治愈你英语不好的病
254 0
讲真,这两款idea插件,能治愈你英语不好的病(1)

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    25
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    25
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    27
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    23
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    30
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    21
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    19
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    19
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19