Java中从txt文件中读取和存储内容出现乱码的解决之道一:

来源:互联网 发布:反攻击软件 编辑:程序博客网 时间:2024/06/05 08:49

原因:Java中对文本的操作经常会出现乱码,这是由于你要读取的文本中的内容编码和你IO操作使用的编码格式不一致导致的:

解决方法:

(1)  要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8;
(2)  利用IO文件流的 InputStreamReader()和OutputStreamWriter()这两个函数对文件进行读取和存储操作。

具体代码如下:

//通过BufferedReader和BufferedWriter带有缓存的输入输出流对文件进行读写操作//InputStreamReader()和OutputStreamWriter()这两个函数可以将字节流转换成字符流// 存储操作:BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileUrl), "UTF-8")); bw.write("内容");//将内容写到fileUrl中 bw.close();// 或者OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(fileUrl), "UTF-8");   osw.write("内容"); //将内容写到fileUrl中  osw.flush(); //将内容刷新到文件中存储osw.close();//读取操作:BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileUrl),"UTF-8"));String s=null;while((s=br.readLine())!=null){    System.out.println(s);}br.close();

建议在存储时设置对应的字符编码格式(最好使用utf-8的编码格式),然后就可以以设置的编码格式读取文本 。


1 0