java 中 IO 流有哪些?

java 中 IO 流有哪些?

按数据流向:输入流和输出流
    输入和输出都是从程序的角度来说的。输入流:数据流向程序;输出流:数据从程序流出。
    
按处理单位:字节流和字符流
    字节流:一次读入或读出是8位二进制;字符流:一次读入或读出是16位二进制。
    JDK中后缀是Stream是字节流;后缀是Reader,Writer是字符流。
    
按功能功能:节点流和处理流
    节点流:直接与数据源相连,读入或写出;处理流:与节点流一块使用,在节点流的基础上,再套接一层。

 

最根本的四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)

 

四大类的扩展,按处理单位区分
InputStream: FileInputStream、PipedInputStream、ByteArrayInputStream
                        BufferedInputstream、SequenceInputStream、DataInputStream、ObjectInputStream

OutputStream:FileOutputStream、PipedOutputStream、ByteArrayOutputStream
                          BufferedOutputStream、DataOutputStream、ObjectOutputStream、PrintStream

Reader:      FileReader、PipedReader、CharArrayReader
                     BufferedReader、InputStreamReader

Writer:        FileWriter、PipedWriter、CharArrayWriter
                     BufferedWriter、InputStreamWriter、PrintWriter

 

常用的流
对文件进行操作:FileInputStream(字节输入流)、FileOutputStream(字节输出流)、FileReader(字符输入流)、FileWriter(字符输出流)

对管道进行操作:PipedInputStream(字节输入流)、PipedOutStream(字节输出流)、PipedReader(字符输入流)、PipedWriter(字符输出流)。
PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用、共同完成管道的读取写入操作。主要用于线程操作。

字节/字符数组:ByteArrayInputStream、ByteArrayOutputStream、CharArrayReader、CharArrayWriter是在内存中开辟了一个字节或字符数组。

Buffered缓冲流::BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
带缓冲区的处理流、缓冲区的作用的主要目的是:避免每次和硬盘打交道、提高数据访问的效率。

字节转化成字符流:InputStreamReader、OutputStreamWriter

数据流:DataInputStream、DataOutputStream
数据流可以直接输出float类型或long类型、提高了数据读写的效率

打印流:printStream、printWriter

对象流:ObjectInputStream、ObjectOutputStream

序列化流:SequenceInputStream

 


【Java面试题与答案】整理推荐

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值