java读取txt数据出乱码

用java读取txt文件中的内容:
bufferedReader = new BufferedReader(new InputStreamReader(
new FileInputStream(filePath),"GBK"));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);}
但是出来乱码。
图片说明

如果把GBK改成UTF-8,出现的还有空行。
图片说明

编码格式吧,把txt的编码转成GBK的才行

把gbk换成utf-8试试

再输出之前,重新编码,用utf-8

图片说明,刚写的没乱码。你的好像没啥问题啊。

你的流关闭了吗,就是read.close()。

我尝试了几位给的方法。
package datamining;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Test {
public static void main(String[] args) {
String filePath = "/Users/apple/Downloads/gaodeng/iuser_2010_2014.txt";
BufferedReader bufferedReader = null;
try {

        bufferedReader = new BufferedReader(new InputStreamReader(
                new FileInputStream(filePath), "GBK"));
        String line = null;
        int i = 0;
        while ((line = bufferedReader.readLine()) != null && i < 10) {
            System.out.println(line.toString());
            i = i + 1;
        }
        System.out.println("Successful");
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            bufferedReader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

}
我把textedit的encoding改成了gbk,代码也改成了尝试改成gbk和utf-8。
图片说明
![图片说明](https://img-ask.csdn.net/upload/201512/27/1451207343_418284.png)<br>
图片说明

txt的默认编码是ANSI,你用GBK和utf8都会产生乱码,把txt的编码方式改为 utf8,重新保存,再读取试试

可以用DataInputStream试试,,

用你的开发工具打开txt文件,设置成utf-8,再把文字复制进去后保存,再重新保存txt文件后再读取

用你的开发工具打开txt文件,设置成utf-8,再把文字复制进去后保存,再重新保存txt文件后再读取

各位,谢谢,我已经解决了。因为文件有16g,所以不能直接用app打开。我是用Linux进行转码:iconv -f encoding -t encoding file.