转载自Java中从txt文件中读取和存储内容出现乱码的解决之道一:
原因:Java中对文本的操作经常会出现乱码,这是由于你要读取的文本中的内容编码和你IO操作使用的编码格式不一致导致的:
解决方法:
(1) 要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8;
(2) 利用IO文件流的 InputStreamReader()和OutputStreamWriter()这两个函数对文件进行读取和存储操作。
具体代码如下:
[java] view plain copy print?
-
-
-
-
- BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileUrl), "UTF-8"));
- bw.write("内容");
- bw.close();
-
- OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(fileUrl), "UTF-8");
- osw.write("内容");
- 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的编码格式),然后就可以以设置的编码格式读取文本 。