但行好事  莫问前程

BufferedReader读取数据中文乱码问题的解决方案

一. 问题描述

Windows平台下进行开发,使用BufferedReader包装InputStreamReader流读取数据的出现中文乱码,代码如下:

     //启动子进程
    Process process = Runtime.getRuntime().exec("javac");
    //以process进程的错误流获取输入流
    InputStream is =process.getErrorStream();
    //流的转换:字节流转字符流
    InputStreamReader isr  = new InputStreamReader(is);
    //流的包装
    BufferedReader br = new BufferedReader(isr);

二. 解决方案

Windows平台下简体中文默认使用GBK编码,而Linux平台下是UTF-8编码,所以在Windows平台下开发需要设置转换流的编码,代码如下所示:

InputStreamReader isr  = new InputStreamReader(is,"GBK");

完整代码如下所示:

   //启动子进程
    Process process = Runtime.getRuntime().exec("javac");
    //以process进程的错误流获取输入流
    InputStream is =process.getErrorStream();
    //流的转换:字节流转字符流
    InputStreamReader isr  = new InputStreamReader(is,"GBK");
    //流的包装
    BufferedReader br = new BufferedReader(isr);
打赏
欢迎关注人生设计师的微信公众账号
公众号ID:longjiazuoA

未经允许不得转载:人生设计师 » BufferedReader读取数据中文乱码问题的解决方案

分享到:更多 ()

人生设计师-接受不同的声音

联系我关于我