|
java读取文本文件一般使用类似下面的方法
BufferedReader bin = new BufferedReader(new FileReader("D:/test.txt"));
String s = null;
while((s=bin.readLine())!=null){
System.out.println(s);
}
bin.close();
但是有时我们读取的中文居然是乱码,其实原因也很简单,就是文本文件编码的问题,gbk gb2312 utf-8等等
我们怎么根据编码读取文本文件呢?
java中的public InputStreamReader(InputStream in, Charset cs)带有字符编码,你可以使用这个类使用指定编码读取文本文件
改为如下测试一下是否还是乱码?
BufferedReader bin = new BufferedReader(new InputStreamReader(new FileInputStream("D://test.txt"), "gbk"));
String s = null;
while((s=bin.readLine())!=null){
System.out.println(s);
}
bin.close();
如果还是乱码,你只需根据对应的文本文件修改对应的字符编码就可以,中文编码一般utf-8和gbk就差不多了,同样文本文件的写出也可以使用OutputStreamWriter指定编码
|
|