老坛酸菜吃鸭子 2022-04-02 13:04 采纳率: 83.3%
浏览 64
已结题

【java】使用字符流复制文件 乱码

问题相关代码,请勿粘贴截图

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.CharBuffer;

public class Ooutputstreamwrite {

    public static void main(String[] args) throws IOException {

        OutputStreamWriter o= new OutputStreamWriter(new FileOutputStream("D:\\FILE\\a.txt"),"GBK");
        /* 构造方法
         * OutputStreamWriter(OutputStream out)
         * OutputStreamWriter(OutputStream out,String charsetName) */
        InputStreamReader i= new InputStreamReader(new FileInputStream("D:\\FILE\\java.txt"),"GBK");

        char[]  b=new char[100];
        while(i.read(b)!=-1) {
            o.write(b);
        }
        o.close();
        i.close();

    }

}

运行结果及报错内容

a.txt文件复制内容乱码

我的解答思路和尝试过的方法

加上了GBK编码为什么还是乱码,new String()方法里面要求的是 byte[]类型,强制转换也不行,字符流用来操作中文的便利性体现在哪里,感觉还是很麻烦

我想要达到的结果

成功复制中文

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 4月10日
      • 已采纳回答 4月2日
      • 创建了问题 4月2日

      悬赏问题

      • ¥20 有人知道怎么将vsi格式的图片文件,转换为svs格式的文件吗
      • ¥15 历史模拟法计算var实验报告
      • ¥15 白鲸算法优化K值的VMD分解出错
      • ¥20 写一个基于52单片机用hc-05蓝牙模块控制28BYJ-48步进电机进行旋转,在手机蓝牙串口输入1019电机转半圈,输入2038电机转一圈,输入0复位的代码吗
      • ¥15 求51单片机8位数码管计时器程序
      • ¥20 matlab识别螺母边缘
      • ¥15 python 6x6游戏加登录、记录系统
      • ¥100 基于做一个模拟智慧路灯
      • ¥15 ME21N 创建采购成功并且生成采购订单号,但显示“快件文档更新已取消”,SM13看错误提示为如下截图:
      • ¥30 android 集成fmod实现变声功能中遇到的问题