自己备忘一下:
1:将抓取到的数据保存到本地后,经常会出现中文乱码的情况。
解决办法:保存数据的时候用字节流去写。
原因:我们知道计算机的基本存储单位是字节,而java中一个字符占两个字节。当用字符流去写文件时,java会将字符流转换为字节流再输出,这里面的转换过程使用的java默认的字符集,因此当默认的编码方式不对时可能会出现乱码。如果用字节流写入就可以手动的设置字符集,从而避免乱码。需要注意的是以后读取该文件的时候也要用相同的字符集。
如输出流
输入流
1:将抓取到的数据保存到本地后,经常会出现中文乱码的情况。
解决办法:保存数据的时候用字节流去写。
原因:我们知道计算机的基本存储单位是字节,而java中一个字符占两个字节。当用字符流去写文件时,java会将字符流转换为字节流再输出,这里面的转换过程使用的java默认的字符集,因此当默认的编码方式不对时可能会出现乱码。如果用字节流写入就可以手动的设置字符集,从而避免乱码。需要注意的是以后读取该文件的时候也要用相同的字符集。
如输出流
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(dataString.getBytes("chartset1"));
fileOutputStream.close();
输入流
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file2), "chartset1");//要确保"chartset1"相同