IO总结(一)
来源:互联网 发布:js防水贴瓷砖 编辑:程序博客网 时间:2024/05/22 13:46
在Java程序中,对于数据的输入/输出操作以“流”(stream)方式进行;J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。
可以把“流”想象成“自来水流”、“管道”,文件--“自来水池”,程序--“水桶”,自来水中有杂质,就需要两个(或以上)“管道”。
输入/输出流的分类
1)按数据流的方向不同:输入流和输出流
2)按处理数据单位不同:字节流和字符流
3)按功能不同:节点流和处理流
J2SDK所提供的所有流类型为与java.io内都分别继承自以下四种抽象流类型:
节点流和处理流:
1)节点流为可以从一个特定的数据源(节点)读写数据(如文本,内存)
2)处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。
InputStream
继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8bit);下图中深色为节点流,浅色为处理流。
FileInputStream: 从文件读数据
PipedInputStream:从管道读数据
......
InputStream的基本方法
1)int read() throws IOException
读取一个字节并以整数的形式返回
如果返回-1已到输入流的末尾
2) int read(byte[] buffer) throws IOException
读取一系列字节并存储到一个数组buffer
返回实际读取的字节数
3) int read(byte[] buffer,int offset,int length)
读取length个字节
并存储到一个字节数组buffer,从length位置开始
返回实际读取的字节数
4) void close()
关闭流释放内存资源
5) long skip(long n)
OutputStream
继承自OutputStream的流是用于程序中输入数据,且数据的单位为字节;下图中深色为节点流,浅色为处理流。
OutputStream的基本方法
1)void write(int b)
向输出流中写入一个字节数据,该字节数据位参数b的低8位
2)void write(byte[] b)
将一个字节类型的数组中的数据写入输出流
3)void write(byte[] b,int off,int len)
将一个字节类型的数组中的从指定位置(off)开始的len个字节写入到输出流
4)void close()
关闭流释放内存资源
5)void flush()
将输出流中缓冲的数据全部写出到目的地
Reader
继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16 bit);下图中深色为节点流,浅色为处理流。
Reader的基本方法
1)int read()
2) int read(char[] cbuf)
3) int read(char[] cbuf,int offset,int length)
4) void close()
5) long skip(long n)
Writer
继承自Writerr的流都是用于程序中输出数据,且数据的单位为字符(16 bit);下图中深色为节点流,浅色为处理流。
Writer的基本方法:
1) void write(int c)
向输出流中写入一个字符数据
2) void write(char[] cbuf)
将一个字符类型的数组中的数据写入输出流
3)void write(char[] cbuf,int offset,int length)
将一个字符类型的数组中的从指定位置开始的length个字符写入到输出流
4)void write(String string) (重要)
将一个字符串中的字符写入到输出流
5) void write(String string,int offset, int length)
将一个字符串从offset开始的length个字符写入到输出流
6)void close()
关闭流释放内存资源
7)void flush()
将输出流中缓冲的数据全部写到目的地
- IO总结(一)
- Java IO 总结(一)
- IO流总结(一)
- IO/NIO学习总结(一)
- java Io总结一(输入输出流)
- java中的IO操作总结(一)
- 黑马程序员------IO操作总结(一)
- Java IO流学习总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- Java中的IO操作总结(一)
- java IO流总结篇(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO流总结(一)
- System.IO全面总结(一)
- 并查集与十度好友
- centos6 install linux apache mysql php
- Django 1.5.4 专题21 haystack whoosh
- Linux 下编译Android-VLC开源播放器详解(附源码下载)
- openSuSE 安装方法
- IO总结(一)
- Java学习第三课 -- 类和对象
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
- BYTE 与char 类型的区别
- 〖黑马程序员〗宣传语征集
- Jquery有哪些选择器
- 字符串等函数重写
- jQuery实现' 返回顶部 ' 和 ' 导航悬浮 '
- 在eclipse中如何输入main(String[] args)中的args