工作:翻译单词

本文描述了一个通过Java编程实现批量翻译系统中空描述单词的过程。首先,从SQL导出空描述的单词,然后在百度翻译开放平台注册获取appId和密钥。接着,编写Java代码解析文件并调用API接口进行翻译,使用Hutool和FastJson库处理数据,最后输出更新数据库的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

因为拿现有系统套新的系统,老系统词库里有很多单词描述为空,sql导出所有的描述为空的单词,利用翻译软件查询出对应的描述。

二、步骤

1、把导出来的单词按照一定的格式放在文档中。

2、注册百度的翻译平台(百度翻译开放平台),拿到appId和密钥。

3、编写Java代码解析文件,调用第三方的api接口。

三、示例

引入了fastJson和hutool的maven包

单词格式如下:

 代码如下:

package com.niusensen.springbootmybatis;

import cn.hutool.core.text.UnicodeUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.UUID;

/**
 * @author wangpf
 * @version 1.0
 * @date 2023/7/26 15:24
 */
public class Test {
    public static void main(String[] args) throws Exception{
        
		String appId = "2023xxxxxx";
        String key="O5sSxxxxxxxcI";

        String url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
        BufferedReader reader = new BufferedReader(new FileReader("D:\\123.txt"));
        String line = reader.readLine();
		
        while(line != null){
            List<String> strings = Arrays.asList(line.split( ","));
            for(String str: strings){
				try{
					String param=str.replace("'", "");
					String salt= cn.hutool.core.lang.UUID.fastUUID().toString();
					String sign= SecureUtil.md5(appId+param+salt+key);
					String strurl ="q="+param+"&from=en&to=zh&appid="+appId+"&salt="+ salt+"&sign="+sign;
					
					String getResult= HttpUtil.createGet(url+strurl).execute().charset("utf-8").body();
					Map<String,Object> maps = JSONObject.parseObject(getResult, Map.class);
					List<Map> list = JSONArray.parseArray(JSON.toJSONString(maps.get("trans_result")),Map.class);
					System.out.println("update xxxx_xx_xx ldw set ldw.word_desc = '"+list.get(0).get("dst")+"' where ldw.word_name = '"+param+"';");
					Thread.sleep(1000);//因为免费的接口有一秒限制
				}catch(Exception e) {
					System.out.println("str="+str+",Exception"+e);
				}
            }
            line = reader.readLine();
        }
        reader.close();
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值