关于IO流的基础理论

/**
 * 关于IO流(理论部分)
 *    1.什么是IO?  I: Input;   O: Output  也就是输入和输出,就是通过IO可以完成硬盘文件的读和写。
 *    2.IO流的分类:
 *       * 按照流的方向进行分类:(以内存作为参照物)
 *         - 往内存中去,叫做输入(Input),或者叫做读(Read).
 *         - 从内存中出来,叫做输出(Output),或者叫做写(Write).
 *       * 按照读取数据方式进行分类:
 *         - 按照字节的方式读取数据,一次读取一个字节(byte)(等同于一次读取8个二进制位),这种流是万能的
 *           任何类型的文件都能读取,叫做字节流。
 *           例如文件:a中国dhe质数....
 *               第一次读取:一个字节,正好读到‘a’。('a'字符在windows系统中占1个字节。字符在Java中占2个字节,但是对Windows文件来说和Java没关系)
 *               第二次读取:一个字节,正好读到‘中’字符的一半。('中'字符在windows系统中占2个字节。)
 *               第三次读取:一个字节,正好读到‘中’字符的另外一半。
 *
 *         - 按照字符的方式读取数据,一次读取一个字符,这种流只能读取纯文本文件,叫做字符流。*.txt
 *               例如文件:a中国dhe质数....
 *               第一次读取:'a'字符
 *               第二次读取:'中'字符
 *
 *综上所述:
 *     流可分为:输入流、输出流、字节流、字符流
 *
 *     3.java IO流有四大家族:
 *         * java.io.InputStream  字节输入流
 *         * java.io.OutputStream 字节输出流
 *
 *         * java.io.Reader  字符输入流
 *         * java.io.Writer  字符输出流
 *     这四个都是抽象类。(abstract class) 都实现了java.oi.Closeable接口,都是可关闭的。
 *         都有close()方法。流毕竟是一个管道,这个管道是内存和硬盘之间的通道,
 *         用完之后一定要关闭不然会占用很多资源。这是需要我们养成好习惯,用完流一定要关闭。
 *
 *     所有的输出流都实现了:java.io.Flushable接口,都是可刷新的,都有flush()方法。
 *         需要我们养成好习惯:在输出流后面一定要记得flush()刷新一下,用来清空管道。不进行这步操作有可能丢失数据。
 *
 *         注意:在java中只要“类名”以Stream结尾的都是字节流。以“Reader/Writer”结尾的都是字符流。
 *     4.java.io包下需要掌握的16个流:
 *     文件专属:
 *          java.io.FileInputStream  (掌握)
 *          java.io.FileOutputStream (掌握)
 *          java.io.FileReader
 *          java.io.FileWriter
 *      转换流:将字节流转换成字符流
 *          java.io.InputStreamReader
 *          java.io.OutputStreamWriter
 *      缓冲流专属:
 *          java.io.BufferedReader
 *          java.io.BufferedWriter
 *          java.io.BufferedInputStream
 *          java.io.BufferedOutputStream
 *      数据流专属:
 *          java.io.DataInputStream
 *          java.io.DataOutputStream
 *      标准输出流:
 *          java.io.PrintWriter 字符方式
 *          java.io.PrintStream 字节方式(掌握)
 *      对象专属流:
 *          java.io.ObjectInputStream (掌握)
 *          java.io.ObjectOutputStream (掌握)
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值