java读取txt数据出乱码 1C

用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,出现的还有空行。
图片说明

11个回答

我尝试了几位给的方法。
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>
图片说明

qing_gee
沉默王二 按照你写的代码,我测试了一下中文非常OK,问题应该出在你的txt文件上,能否把你的文件内容或者文件贴出来一份
大约 4 年之前 回复

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

把gbk换成utf-8试试

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

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

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

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

可以用DataInputStream试试,,

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

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

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问