今天在利用JAVA读写文本文件时发现了个非常奇怪的问题,我利用BufferedReader来读取文本文件,显示出来的是乱码,但是我用BufferedWriter写到新的文本文件时却是完全正确的,这是怎么一回事?
以下是我的部分代码:
File fr=new File(path);
File fw=new File(path);
InputStreamReader read = new InputStreamReader(new FileInputStream(fr));
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(fw));
BufferedReader br=new BufferedReader(read);
BufferedWriter bw=new BufferedWriter(write);
String inline=br.readLine();
String temp="";
while(inline!=null){
temp+=inline+"\r\n";
inline=br.readLine();
}
int rc = RPDLL.sendRequestEx(temp);
bw.write(temp);
bw.close();
br.close();
以上代码能完整的写入到文件中。
但如果改内码的话,无论改成什么样的编码方式,读、写文件都是乱码,请高手指点
InputStreamReader read = new InputStreamReader(new FileInputStream(fr),"UTF-8");
BufferedReader br=new BufferedReader(read);
没用;
String inline=br.readLine();
new String(inline.getBytes("ISO-8859-1"),"UTF-8");
也没用;
StringBuffer inline=new StringBuffer();
inline.append(br.readLine());
Tomcat一直不停地在处理,不显示读出的文件,也不写入文件