IO概述
什么是IO
在生活中编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。
那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。
我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出 output,即流向内存是输入流,流出内存的输出流。
Java中I/O操作主要是指定使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫作写出数据。
IO的分类
根据数据的流向分为:输入流和输出流。
>输入流:把数据从其他设备上读取到内存中的流。
>输出流:把数据从内存中写出到其他设备上的流。
格局数据的类型分为:字节流和字符流。
顶级父类们
输入流 | 输出流 | |
字节流 |
字节输入流 InputStream |
字节输出流 OutputStream |
字符流 |
字符出入流 Reader |
字符输出流 Writer |
一切皆为字节
一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。
所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix