每日一练——定义方法完成GBK编码文件和UTF-8编码文件之间相互转换。

1、很多时候需要GBK编码的文件,但它实际上是UTF-8编码的文件,就需要把GBK编码的文件转换为UTF-8编码的文件.
2、很多时候需要UTF-8编码的文件,但它实际上是GBK编码的文件,同样需要把UTF-8编码的文件转换为GBK编码的文件.
而java中又没有提供GBK编码文件和UTF-8编码文件之间相互转换,需要借助相关软件完成。
public static void main(String[] args) throws Exception {
        /*
        很多时候需要GBK编码的文件,但它实际上是UTF-8编码的文件,就需要把GBK编码的文件转换为UTF-8编码的文件.
        很多时候需要UTF-8编码的文件,但它实际上是GBK编码的文件,同样需要把UTF-8编码的文件转换为GBK编码的文件.
        而java中又没有提供GBK编码文件和UTF-8编码文件之间相互转换,需要借助相关软件完成。
        定义方法完成GBK编码文件和UTF-8编码文件之间相互转换。
         */

        //定义方法完成GBK编码文件和UTF-8编码文件之间相互转换。
        File gbkFile = new File("day10-homework\\src\\gbk.txt");
        File utf8File = new File("day10-homework\\src\\utf8.txt");
        convert(gbkFile,utf8File,"GBK","UTF-8");

        File gbkFile2 = new File("day10-homework\\src\\utf8_2.txt");
        File utf8File2 = new File("day10-homework\\src\\gbk_2.txt");
        convert(gbkFile2,utf8File2,"UTF-8","GBK");
    }

    //方法:把指定编码的源文件转换成指定编码的目标文件     (转换前源文件地址,转换后源文件地址,转换前编码,转换后编码)
    public static void convert(File srcPath,File destPath,String srcCode,String destCode) throws Exception {
        FileInputStream fis = new FileInputStream(srcPath);
        InputStreamReader isr = new InputStreamReader(fis,srcCode);
        BufferedReader br = new BufferedReader(isr);

        FileOutputStream fos = new FileOutputStream(destPath);
        OutputStreamWriter osw = new OutputStreamWriter(fos,destCode);
        BufferedWriter bw = new BufferedWriter(osw);

        String line;
        while ((line= br.readLine())!=null){
            bw.write(line);
        }

        bw.close();
        br.close();
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值