秋日的晚霞 2021-10-12 07:06 采纳率: 94.4%
浏览 47
已结题

java编码转换问题 不改变文件的编码格式还原内容

桌面上文档内容是GBK编码过的,文本文件是UTF-8编码格式的,
怎么用java代码转换编码,还原内容? 不改变桌面文本文件的编码格式

如图

img

  • 写回答

3条回答 默认 最新

  • zlebhs 2021-10-12 07:11
    关注

    文档内容是gbk的,文本文件是utf8的,你的文档内容和文本文件指的是什么呢?你想转换什么呢?什么又叫还原内容?完全没看懂。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    秋日的晚霞 2021-10-12 07:15

    就是桌面有个txt的文本,里面的内容是 用GBK编码过的内容 比如说"我爱你JAVA" 用GBK编码后保存在桌面上的txt文本中,txt的编码格式是UTF-8,怎么用JAVA读取txt文本后将里面编码的内容还原

    回复
    zlebhs 回复 秋日的晚霞 2021-10-12 07:36

            File file = new File("改成你的文件路径");
            // 读取
            FileInputStream in = new FileInputStream(file);
            byte[] bytes = new byte[1024];
            int read = -1;
            StringBuilder sb = new StringBuilder();
            while ((read = in.read(bytes)) != -1) {
                // 读gbk
                sb.append(new String(bytes, 0, read, Charset.forName("gbk")));
            }
            // 输出
            FileOutputStream out = new FileOutputStream(file);
            // 写utf-8
            out.write(sb.toString().getBytes(Charset.forName("utf-8")));
    
            in.close();
            out.close();
    

    回复
    zlebhs 回复 zlebhs 2021-10-12 07:37

    先读取出来,然后再写回源文件

    回复
    展开全部7条评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月13日
  • 创建了问题 10月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部