Java以字符流read一个txt文件,文件里写的是中文,控制台显示的乱码

试了下,txt文件是英文的话不乱码,但是是中文的话就会出现乱码。

这种一般都是文件和开发环境的编码方式不一致导致,看你文件存储的编码格式是否和你开发环境的编码一致。

转载:https://ask.csdn.net/questions/170724

public class test {
    public static void main(String[] args){
        readFile();
        //System.out.println("");
    }
    public static void readFile(){
        try {
            File file=new File("d:\\lamp\\1.txt");
            Reader in=new FileReader(file);
            char[] ch=new char[20];
            int len=-1;
            StringBuffer sb=new StringBuffer();
            while((len=in.read(ch))!=-1){
                sb.append(new String(ch,0,len));
            }
            in.close();
            System.out.println(sb);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
} 

你可能感兴趣的:(java,IO)