今天遇到的问题是这样:用java读取一个中文文本文件,但读取到的却是乱码,之前一直没有问题,查清楚后,原来是因为今天是用的windows的记事本来编辑的文件,因编码方式是的不同而导致了乱码,解决方法就是设置编码方式为“UTF-8”,设置方法如下:

File file = new File("文件路径");
 Reader reader = null;
            try {
                System.out.println("以字符为单位读取文件内容,一次读一个字节:");
                // 设置编码方式为UTF-8
                reader = new InputStreamReader(new FileInputStream(file),"UTF-8");
             
                
                int tempchar;
                while ((tempchar = reader.read()) != -1) {
          
                    if (((char) tempchar) != '\r') {

// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。

                        System.out.print((char) tempchar);
                    }
                }
                reader.close();
            } catch (Exception e) {
                e.printStackTrace();
            }

  

 

相关文章:

  • 2021-05-10
  • 2022-12-23
  • 2021-05-23
  • 2022-02-15
  • 2022-12-23
  • 2022-01-21
  • 2021-07-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案