今天遇到的问题是这样:用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();
            }