InputStreamReader和 OutputStreamWriter
输入字节流的转换流:InputStreamReader 是字节流通向字符流的桥
输出字节流的转换流: OutputStreamWriter 可以把输出字节流转换成输出字符流 。
转换流的作用:
1. 如果目前所 获取到的是一个字节流需要转换字符流使用,这时候就可以使用转换流。 字节流----> 字符流
2. 使用转换流可以指定编码表进行读写文件。
//使用输入字节流的转换流指定码表进行读取文件数据 public static void readTest2() throws IOException{ File file = new File("F:\\a.txt"); FileInputStream fileInputStream = new FileInputStream(file); //创建字节流的转换流并且指定码表进行读取 InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"utf-8"); char[] buf = new char[1024]; int length = 0; while((length = inputStreamReader.read(buf))!=-1){ System.out.println(new String(buf,0,length)); } } //使用输出字节流的转换流指定码表写出数据 public static void writeTest2() throws IOException{ File file = new File("F:\\a.txt"); //建立数据的输出通道 FileOutputStream fileOutputStream = new FileOutputStream(file); //把输出字节流转换成字符流并且指定编码表。 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8"); outputStreamWriter.write("新中国好啊"); //关闭资源 outputStreamWriter.close(); } public static void writeTest() throws IOException{ File file = new File("F:\\a.txt"); FileOutputStream fileOutputStream = new FileOutputStream(file); //把输出字节流转换成输出字符流。 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); outputStreamWriter.write("大家好"); outputStreamWriter.close(); } public static void readTest() throws IOException{ InputStream in = System.in; //获取了标准的输入流。 System.out.println("读到 的字符:"+ (char)in.read()); //read()一次只能读取一个字节。 //需要把字节流转换成字符流。 InputStreamReader inputStreamReader = new InputStreamReader(in); //使用字符流的缓冲类 BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line = null; while((line = bufferedReader.readLine())!=null){ System.out.println("内容:"+ line); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)