java读取文件乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java读取文件乱码相关的知识,希望对你有一定的参考价值。
FileReader Fr=null;
BufferedReader Br=null;
try
Fr=new FileReader(Abs);Abs为通过JFileChooser获取的绝对路径,没有问题
Br=new BufferedReader(Fr);
String str="";
String allText="";
while((str=Br.readLine())!=null)
allText+=str+"\r\n";
System.out.print(allText);能够换行,乱码
jtf.setText(allText);不能换行,乱码(jta为JTextFiled对象)
catch (Exception e1)
e1.printStackTrace();
finally
try
Fr.close();
Br.close();
catch (IOException e1)
// TODO Auto-generated catch block
e1.printStackTrace();
求高手指点,初学JAVA。
FileInputStream fis = new FileInputStream(Abs);
InputStreamReader isr = new InputStreamReader(fis, "GBK"); //GBK替换成你文件内容使用的编码
BufferedReader br = new BufferedReader(isr); 参考技术A java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。
如:String str = new String(str.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。
备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。 参考技术B 直接在属性里面改改就可以了啊。 参考技术C 我这里没有乱码,有没有可能,你的文件的编码方式的问题
Java 读取文件中文乱码处理 Java IO读取txt文件内容的正确姿势避免中文乱码
在读取文件时,使用InputStreamReader 指定编码格式避免中文乱码
@Test
public void txtTest() {
File file = new File("D:\\\\images\\\\imobile冠晨达专卖店\\\\钢化膜-11\\\\钢化膜\\\\1+8t\\\\销售属性.txt");
try (FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "gbk");
BufferedReader br = new BufferedReader(isr)) {
String str;
while ((str = br.readLine()) != null) {
System.out.println("str = " + str);
}
} catch (IOException e) {
e.printStackTrace();
}
File file2 = new File("D:\\\\images\\\\imobile冠晨达专卖店\\\\钢化膜-11\\\\钢化膜\\\\1+8t\\\\销售属性.txt");
try (FileReader reader2 = new FileReader(file2);
BufferedReader br2 = new BufferedReader(reader2)) {
String str2;
while ((str2 = br2.readLine()) != null) {
System.out.println("str2 = " + str2);
}
} catch (IOException e) {
e.printStackTrace();
}
}
代码运行效果如下图
如果在设置编码格式后还是出现文件乱码,检查一下文件编码格式是不是于设置的不一致。如果不一致的情况可以将文件另存为指定编码格式,文件另存为操作如下
以上是关于java读取文件乱码的主要内容,如果未能解决你的问题,请参考以下文章