第十四章 I/O输入/输出

14.1 数据流的基本概念

    1.流的分类

按照流动方向:输入流(InputStream)和输出流(OutputStream)

                         程序用输出流向文件写数据,用输出流从文件中读数据;而键盘只针对输入流,                     屏幕只针对输出流。

按照读取类型:字节流   和   字符流

                         字节流:从InputStream和OutputStream 派生出来的一系列类,以字节(byte)为                     基本处理单位。

                         字符流:从Reader       和  Writer            派生出来的一系列类,以16位的Unicode                    码表示的字符为基本处理单位。

按照发生源头:节点流   和   过滤流

                          用于直接操作目标设备对应的流叫节点流;而程序可以通过过滤流去操作节点                        流,以更加灵活方便的读写各种类型的数据。

注意:

(1)·写入流的数据顺序排列

(2)·字节流和字符流不要混用

  2.Java标准输入/输出流

·标准输入:对象是键盘,Java对应类是System.in

·标准输出:对象是屏幕,Java对应类是System.out

·标准错误输出:对象也是屏幕,Java对应类是System.err

14.2 字节流和字符流

1.字节流:

    1)inputstream;

    2)outputstream;

    3)常用的一些字节流:1.文件流FileInputStream和FileOutputStream;

                                       前者的作用在于通过指定文件路径的方式,将一个文件中的内容作为其他                                  流的数据源,从而可使用流的方式对文件进行读操作;后者的作用在于指定                                    文件路径的方式,将一个文件作为其他流的输出目的地,从而可使流的方式                                    对文件进行写操作

                                       2.字节数组流ByteArrayInputStream和ByteArrayOutputStream;

                                 字节数组流的作用是在字节数组和流之间搭建桥梁。

                                       3.管道流PipedInputStream和PipedOutputStream;

                                  管道用来把一个程序,线程和代码块的输出连接到另一个程序,线程和代码                                    块。管道输入流作为一个通信管道的接收端,管道输出流则作为发送端。管                                    道流必须输入/输出并用。管道的连接方式有:·1在构造方法中连接;·2通过                                    各自的connect()方法连接

                                         4.对象流ObjectInputStream和ObjectOutputStream;

                                   能够输入/输出对象的流

                                         5.过滤流FilterInputStream和 FilterOutputStream;

                                    对其他输入输出流进行特殊处理,使得它们在读写数据的同时还可以对数                                        据进行特殊处理。还提供了同步机制,使得每一时刻只有一个人线程可以                                        访问一个输入与输出流

                                          6.缓冲流BufferedInputStream和BufferedOutputStream;

                                     这两个类是过滤流的子类,实现了带缓冲的过滤流。它提供了缓冲机制,                                         把节点流“捆绑”到缓冲流上,可以提高读写效率。

                                           7.数据流DataInputStream和DataOutputStream;

                                      它们也是过滤流的子类,它们以统一的方式读出或写入boolean,int,long

                                       double等基本数据类型,以及字符串的读写的方法

                                            8.打印流PrintStream;

                                        

2.字符流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值