LanguageData替换中文

package com.xiaoyun;

import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.util.StrUtil;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.*;

/**
 * @Author: XiaoYun461
 * @Date: 2022/1/21 23:37
 */
public class LanguageData {
    public static void main(String[] args) throws UnsupportedEncodingException {
        File file_cn = new File("F:\\519\\lan\\old\\languagedata_en.txt");
        File file_en = new File("F:\\519\\lan\\new\\languagedata_en.txt");

        File file_out = new File("F:\\519\\lan\\out\\languagedata_en.txt");
        FileReader fileReaderCN = FileReader.create(file_cn, StandardCharsets.UTF_16LE);
        FileReader fileReaderEN = FileReader.create(file_en, StandardCharsets.UTF_16LE);
        FileWriter fileWriter = FileWriter.create(file_out, StandardCharsets.UTF_16LE);

        List<String> stringsCN = fileReaderCN.readLines();
        List<String> stringsEN = fileReaderEN.readLines();

        List<String> outList = new ArrayList<>(stringsEN.size());

        Map<String, String> map = new HashMap<>(stringsCN.size());

        for (String s : stringsCN) {
            String[] split = s.split("\t");

            String key = new StrBuilder(split[0], split[1], split[2], split[3], split[4]).toString();
            if (StrUtil.equals(split[5], "\"<null>\"")) {
                continue;
            }
            map.put(key, s);
        }
        for (String s : stringsEN) {
            String[] split = s.split("\t");
            String key = new StrBuilder(split[0], split[1], split[2], split[3], split[4]).toString();
            String s1 = map.get(key);
            if (StrUtil.isNotEmpty(s1)) {
                outList.add(s1);
            } else {
                outList.add(s);
            }
        }
        fileWriter.writeLines(outList);
        System.out.println(stringsCN.size());
        System.out.println(stringsEN.size());

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值