问题描述
- 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);}
但是出来乱码。
解决方案
Java读取txt数据Demo
Java 读取TXT一行多列数据
java 读取txt文件乱码
解决方案二:
编码格式吧,把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。
解决方案八:
txt的默认编码是ANSI,你用GBK和utf8都会产生乱码,把txt的编码方式改为 utf8,重新保存,再读取试试
解决方案九:
可以用DataInputStream试试,,
解决方案十:
用你的开发工具打开txt文件,设置成utf-8,再把文字复制进去后保存,再重新保存txt文件后再读取
时间: 2024-10-08 02:39:51