JavaSE--IO


前言

        一个流可以理解为一个数据的序列。输入流表示从一个源读取数据(硬盘到内存),输出流表示向一个目标写数据(内存到硬盘)。

java中所有的流都在java.io.*下。


一、流的分类

        按流的方向分:输入流、输出流

        按读取方式分:字节流(万能的,什么数据否可以读取)、字符流(只能读取纯文本,连Word都读取不了)。

二、流的四大家族首领

         java.io.InputStream    字节输入流

        java.io.OutputStream    字节输出流

        java.io.Reader  字符输入流

        java.io.Writer  字符输出流

        注意:四大家族的首领都是抽象类,所有的流都是可关闭的,都实现了Closeable接口,都有close()方法,养成好习惯,流用完后一定要关闭。所有的输出流都实现了java.io.Flushable接口,都是可刷新的,都有flush()方法,养成一个好习惯,输出流在最终输出之后,一定要记得flush()刷新一下,这个刷新表数将通道中剩余未输出的数据强行输出完。清空管道。如果没有flush()可能会导致数据丢失。

        注意:在java中只要“类名”以stream结尾的都是字节流,以“Reader/Writer”结尾的都是字符流。

三、需要掌握的流有16个

        文件专属
                java.io.FileInputStream
                java.io.FileOutputStream
                java.io,FileReader
                java.io.FileWriter

         转换流(将字节流转换为字符流)
                java.io.InputStreamReader
                java.io.OutputStreamWriter

        缓冲流专属
                java.BufferedReader
                java.io.BufferedWriter
                java.io.BufferedOutputStream
                java.io.BufferedInputStream

        数据流专属
                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、付费专栏及课程。

余额充值