首页编程java编程为什么java读出文本乱码 java 读txt中文乱码

为什么java读出文本乱码 java 读txt中文乱码

编程之家2023-10-1392次浏览

大家好,如果您还对为什么java读出文本乱码不太了解,没有关系,今天就由本站为大家分享为什么java读出文本乱码的知识,包括java 读txt中文乱码的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

为什么java读出文本乱码 java 读txt中文乱码

java 用FileInputStream中read方法读取文件出现乱码

read方法读取的是字节流(每次读取一个字节),如果是中文,就是两个字节,就会出现乱码的。

可以通过BufferedReader流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。

BufferedReader bre= null;

为什么java读出文本乱码 java 读txt中文乱码

try{

String file="D:/test/test.txt";

bre= new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流

为什么java读出文本乱码 java 读txt中文乱码

while((str= bre.readLine())!= null)//判断最后一行不存在,为空结束循环

{

System.out.println(str);//原样输出读到的内容

};

备注:流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。

JAVA读写文件,如何避免中文乱码

1、你要将所有的文件的编码都设置成UTF-8,还有,你的MyEclipse或者Eclipse应该配置jsp还有java文件还有项目都设置为UTF-8.

2、eclipse中使用模板新建 JSP,xhtml等文件时,默认的编码为:ISO-8859-1。 ISO-8859-1编码对于中文的显示是不支持的,如果要支持简体中文,则编码方式应为 GBK或者 GB2312或者 UTF-8(推荐)等。右键菜单栏window--> preferences-->在type filter text中输入jsp;--> 选择下面的jsp->选择creating files组中的encoding为UTF-8编码就可以了

如果要使新建立工程、java文件直接使UTF-8则需要做以下工作: 

1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。

2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。

java 读txt中文乱码

txt文档一般是GBK编码格式的,你可以将它另存一下,改为Utf-8格式,你也可以将你的开发工具调成GBK编码格式,总之就是将你的开发环境的编码格式与你要读取的txt文件的编码格式调成一致的。或者此处你可以使用java的转换流,指定编码格式去读取txt文件,就是使用InputStreamReader(new FileInputStream(“filepath”),"GBK"),如果还是乱码,你就再换编码格式,不是UTF-8就是GBK

【java新手求助】java读取txt出现乱码

首先你要清楚,文本文件是用什么字符集编码的,编码和解码的字符集不兼容时一定会出错(是一定哦)。

还得知道你的操作系统默认的字符集。比如你的windows用的是gbk。

你新建一个文本文件1.txt,打几个汉字保存,看它的大小是多少字节,记住这个数。这时的大小是用gbk编码的大小。

再打开这个文件,另存为,编码选择utf-8,覆盖这个文件,你能发现它比刚才大多了。因为编码集不一样了。

所以你用什么字符集编码就用什么字符集解码,这是任何情况下都应该遵守的。

别用你那个程序了。

InputStreamReader的构造方法是可以包含字符集的,像楼上说的那样,

BufferedReader br= new BufferedReader(new InputStreamReader(new FileInputStream(你的文件名),文件的编码字符集))这个看api文档InputStreamReader的构造方法。

然后用br.readLine()读。

程序就不给你写了,很简单,就用这个方法。

再次强调,关于字符集只有两点好说的:

1.不同字符集编出来的文件大小不等。

2.文本文件的编码字符集和解码字符集要一致,否则一定会乱码。

为什么java读出文本乱码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 读txt中文乱码、为什么java读出文本乱码的信息别忘了在本站进行查找哦。

火花塞清洗(火花塞清洗积碳有必要吗)java中什么是传递?在java中什么是参数传递机制