/*

*InputStreamReader参数charset要跟文件编码格式一致。 InputStreamReader读的时候才不会乱码。

*OutputStreamWriter参数charset设置编码例如UTF-8。在操作系统打开文件时候也要用相应编码打开才不会乱码。

*InputStreamReader:读操作时编码要与文件编码一致。OutputStreamWriter写操作时设置编码打开文件时也要以相同编码打开。

*/

public class Test{

/*记事本读写

*写字板编码转化为UTF-8的方式非常简单,用记事本打开文件,文件->另存为->在编码中选择uft-8保存就可以了。

*注意:666.txt和999.txt文件编码都要是UTF-8编码才能保证读写不会乱码。

*/

public static void main(String[] args) throws IOException {
Reader reader = new InputStreamReader(new FileInputStream(new File("e:/666.txt")),"UTF-8");
Writer writer = new OutputStreamWriter(new FileOutputStream(new File("e:/999.txt")),"UTF-8");
char[] buffer = new char[1024];
int len = 0;
while((len=reader.read(buffer))!= -1){
System.out.println(new String(buffer,0,len));
writer.write(buffer, 0, len);
}
writer.flush();
writer.close();
}

/*word读写*/

public static void main(String[] args) throws IOException {
Reader reader = new InputStreamReader(new FileInputStream(new File("e:/123.doc")),"utf-8");
Writer writer = new OutputStreamWriter(new FileOutputStream(new File("e:/456.doc")),"utf-8");
char[] buffer = new char[1024];
int len = 0;
while((len=reader.read(buffer))!= -1){
System.out.println(new String(buffer,0,len));
writer.write(new String(buffer,0,len));
}
writer.flush();
writer.close();
}

/*

*创建记事本999.txt

*OutputStreamWriter(FileOutputStream,charset)以UTF-8编码写出,正确写法。

*问题导致原因:999.txt默认以写字板方式打开就乱码,写字板打开打开的时候解码解错,以UTF-8打开问题解决或者换高级编辑器打开。

*/

public static void main(String[] args) throws IOException {
String file = "e:\\999.txt";
String charset = "UTF-8";
FileOutputStream outputStream = new FileOutputStream(file);
Writer writer = new OutputStreamWriter(outputStream, charset);
try {
writer.write("字符流写乱码。。。");
} finally {
writer.close();
}
}

}

InputStreamReader/OutputStreamWriter乱码问题解决相关推荐

  1. 20150420-20150424 一周工作问题及解决【共享文件的获取、前后台乱码问题解决等】

    20150420-20150424问题记录 1.MD5加密 原文经过MD5加密后,得到唯一的摘要. 一个摘要可对应多条原文.故:根据摘要不能逆推出原文. 2.关于InputStream.availab ...

  2. java乱码问题解决总结

    一.编码的基础概念 首先,要想解决java中文乱码问题就有必要了解一下什么是字符,字符集,编码的概念. 字符:是文字与符号的总称,包括文字.图形符号.数学符号等. 字符集:就是一组抽象字符的集合.字符 ...

  3. python php 通信,Python和php通信乱码问题解决方法

    Python和php通信乱码问题解决方法 发布于 2014-07-29 22:28:21 | 118 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...

  4. [19/04/02-星期二] IO技术_字符流分类总结(含字符转换流InputStreamReader/ OutputStreamWriter,实现字节转字符)...

    一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStre ...

  5. springMVC保存数据到mysql数据库中文乱码问题解决方法

    springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...

  6. java执行cmd命令,返回结果中文乱码问题解决

    java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...

  7. Zip文件中文乱码问题解决方法(MAC->Windows)

    Zip文件中文乱码问题解决方法(MAC->Windows) 参考文章: (1)Zip文件中文乱码问题解决方法(MAC->Windows) (2)https://www.cnblogs.co ...

  8. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 参考文章: (1)Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 (2)https://www.cnblog ...

  9. python3 库pandas写入csv格式文件出现中文乱码问题解决方法

    python3 库pandas写入csv格式文件出现中文乱码问题解决方法 参考文章: (1)python3 库pandas写入csv格式文件出现中文乱码问题解决方法 (2)https://www.cn ...

最新文章

  1. PointRCNN: 点云的3D目标生成与检测
  2. 书单 | 计算机视觉的修炼秘笈
  3. [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断
  4. 阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)
  5. 一些弹出框的用法例子(二)
  6. 读书笔记_打开量化投资的黑箱06
  7. 程序员有哪些丢不掉的编程“陋习”?
  8. 【upstream】Nginx配置upstream实现负载均衡
  9. NYOJ-769乘数密码,逆元解法;
  10. Mac 开机没声音了?只需 2 招关闭/恢复Mac开机音效「咚」
  11. 软件系统换服务器地址,软件系统换服务器地址
  12. newifi3 高恪魔改_原地升值?newifi 3 路由器刷入高恪固件教程
  13. asp网站本地测试服务器,小旋风asp服务器,asp本地环境调试必备
  14. 硬件之家 | 智能手环、手表是如何监测睡眠的
  15. 鸿蒙大陆罪恶深渊哪里出,库库马力
  16. 欲望都市游戏设计 背景图层和UI图层的设计
  17. 21年秋招面试题(个人面试小记一)
  18. firewalld防火墙(二)实验案例:ip地址伪装,端口转发
  19. MapGuide源代码结构
  20. Ceph入门到精通-rados bench性能基准测试

热门文章

  1. Oracle会话和进程数的监控
  2. 无线网***工具进攻方法及防范技巧
  3. 赛灵思PLL重配置一PLL配置介绍___S6器件族
  4. 循序渐进Python3(十一) --6--  Ajax 实现跨域请求 jsonp 和 cors
  5. Linux 系统修复
  6. 编写一个方法,找出两个数字中最大的那一个。不得使用if-else或其他比较运算符。...
  7. 翻转单词顺序与左旋转字符串
  8. 方法功能从无参方法、含参方法到重载方法
  9. System.getProperty()参数大全
  10. 路由跟踪命令.查看DNS、IP、Mac等