一:输出数据到txt(js)文件
在项目中,遇到先生成txt文件,然后再在jsp页面读取该文件。由于,myeclipse默认编码以及项目中的编码都是UTF-8,所以,在读取生成的txt文件时,产生乱码。
这是因为:txt文件 记事本默认是以ANSI编码保存文本文档的,系统中新建的txt文件的编码方式也是ANSI,而项目中使用的是UTF-8。
解决方法:在后台,输出数据时,设置新建txt文本的编码方式,方法如下:
String absPath = request.getRealPath("/");
String filePath = absPath+ "Fusioncharts\\Data\\pointData.txt";
FileOutputStream out=new FileOutputStream(filePath);
OutputStreamWriter osw=new OutputStreamWriter(out,"UTF-8");
String str="输入内容";
osw.write(str);
osw.close();//新建的txt文件就是UTF-8 编码
ANSI码(American National Standards Institute),中文:美国国家标准学会的标准码。
二: jsp 页面加载上面生成的txt(js)文件时,数据可能会造成不一致,这就要求我们在进入该jsp页面时,重新加载txt(js)文件,即:在文件后加一个版本号,该版本号可以是随便一个串,只要不一样就行。
eg:<script src="<%=request.getContextPath()%>/b.js?cur=<%=System.currentTimeMillis()%>" type="text/javascript"></script>