关于使用IDEA读取txt文件出现中文乱码的问题

来源:互联网 发布:java游戏超级玛丽代码 编辑:程序博客网 时间:2024/05/29 04:42

这些天正好学到文件这,想读取本地文件,闲的没事,里面的txt文件写的是《归去来兮辞》:

public class ReadWriteTextFile {    public static void main(String[] args){        File file = new File("F:/poem.txt");        if(file.exists()){            System.out.println("exist");            try {                FileInputStream fis = new FileInputStream(file);                InputStreamReader isr = new InputStreamReader(fis,"UTF-8");                BufferedReader br = new BufferedReader(isr);                String line;                while ((line = br.readLine())!= null){                    System.out.println(line);                }                br.close();                isr.close();                fis.close();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (UnsupportedEncodingException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }        }    }}

谁知道一读取就变成:
这里写图片描述

因为之前变成写的输出到控制台的程序输出都是正常的,所以很纳闷,不知道编码出现什么问题,改了挺长时间也没搞明白,File Encoding之类的我都改成UTF-8了也没用。

后来想是不是txt本身编码的问题,所以,我把读取文件格式改成了“GBK”,没想到就对了~

public class ReadWriteTextFile {    public static void main(String[] args){        File file = new File("F:/poem.txt");        if(file.exists()){            System.out.println("exist");            try {                FileInputStream fis = new FileInputStream(file);                InputStreamReader isr = new InputStreamReader(fis,"GBK");                BufferedReader br = new BufferedReader(isr);                String line;                while ((line = br.readLine())!= null){                    System.out.println(line);                }                br.close();                isr.close();                fis.close();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (UnsupportedEncodingException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }        }    }}

程序执行如下:
这里写图片描述

0 0
原创粉丝点击