发布网友 发布时间:2022-04-20 23:59
共5个回答
热心网友 时间:2023-10-26 19:47
读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
热心网友 时间:2023-10-26 19:48
这个问题不是文件的问题,而是项目属性的编码配置的问题。myeclipse有默认的项目编码属性,我记得应该是iso-8859-1吧,这种编码不支持中文,所以保存以后就会出现乱码。但每个项目都能设置自己单独的文件编码,你的这种情况,就是这种工程编码没有设置对的情况。你在工程属性里找找,有地方是设置这个的,改成GB2312、GBK或者UTF8就可以了。(我只在很多年轻用过两次myeclipse,现在都忘了在哪里改了)热心网友 时间:2023-10-26 19:48
选中你的文件--右击--属性(properties)--text file encoding 有个default和other 这里选other 然后选UTF-8(你默认的可能是ISO-8859-1的)热心网友 时间:2023-10-26 19:49
是文件的编码格式有问题!把文件的编码变成utf-8的热心网友 时间:2023-10-26 19:50
程序右键,属性,然后改成utf-8