学习笔记之面向对象编程18(流之 InputStream,OutputStream)
来源:互联网 发布:plsql查看存储过程源码 编辑:程序博客网 时间:2024/06/13 04:15
(一)java流式输入输出原理
在java程序中,对于数据的输入输出操作以“流(stream)”方式进行;提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。
(二)输入输出流的分类
Java.io包中定义了多个流类型(类或抽象类)来实现输入输出功能,可以从不同角度对其进行分类;
按照数据流的方向不同可以分为输入流和输出流;
按处理数据单位的不同可以分为字节流和字符流;
按照功能不同可以分为节点流和处理流。
提供的所有流类型位于包java.io内部分别继承自四种抽象流类型
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
《1》节点流和处理流
节点流为可以从一个特定的数据源(节点)读写数据(如:文件,内存)
处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能
《2》InputStream
继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8位);
InputStream流有FileInputStream,PipeInputStream,FilterInputStream,ByteArrayInputStream,SequenceInputStream,StringBufferInputStream,ObjectInputStream,其中ObjectInputStream,SequenceInputStream,FilterInputStream为处理流,其他为节点流。
InputStream的基本方法:
int read() throws IOException:读取一个字节并以整数的形式返回(0~255),如果返回-1已到输入流的末尾;
int read(byte[ ] buffer) throws IOException:读取一系列字节并存储到一个数组buffer,返回实际读取的字节数,如果读取前已经到输入流的末尾返回-1;
int read(byte[ ] buffer,int offset, int length) throws IOException:读取length个字节,并存储到一个字节数组buffer,从length位置开始,返回实际读取的字节数,如果读取前已到输入流的末尾返回-1;
void close() throws IOException:关闭流释放内存资源;
long skip(long n) throws IOException:跳过n个字节不读,返回实际跳过的字节数。
OutputStream的基本方法:
void write(int b) throws IOException:向输出流中写入一个字节数据,该字节数据为参数b的低8位;
void write(byte[ ] b) throws IOException:讲一个字节类型的数组中的数据写入输出流;
void write(bute[ ] b,int off,int len) throws IOException:将一个字节类型的数组中的从指定位置(off)开始的len个字节写入到输出流;
void close() throws IOException:关闭流释放内存资源;
void flush() throws IOException:将输出流中缓冲的数据全部写出到目的地
- 学习笔记之面向对象编程18(流之 InputStream,OutputStream)
- 学习android编程之路(6)— InputStream与OutputStream的比较
- 学习笔记之java.io包中的字节流(上)—— 基本的InputStream和OutputStream
- java学习之字节流--InputStream和OutputStream
- 学习笔记之JavaSE(18)--面向对象编程9
- 学习笔记之面向对象编程25(网络编程)
- [学习笔记]python之面向对象编程
- JavaScript学习笔记之面向对象编程
- C++之面向对象编程学习笔记
- python学习笔记(三)之面向对象编程
- Python之学习笔记(面向对象编程)
- 学习笔记之JavaSE(10)--面向对象编程1
- 学习笔记之JavaSE(11)--面向对象编程2
- 学习笔记之JavaSE(12)--面向对象编程3
- 学习笔记之JavaSE(13)--面向对象编程4
- 学习笔记之JavaSE(14)--面向对象编程5
- 学习笔记之JavaSE(15)--面向对象编程6
- 学习笔记之JavaSE(16)--面向对象编程7
- HDU3493 The Little Architect 【BM算法推公式+矩阵快速幂】
- POJ
- 洛谷 P1463 [SDOI2005]反素数ant && P1820 寻找AP数
- 单例设计模式之破坏
- 《Java从小白到大牛精简版》之第1章 开篇综述
- 学习笔记之面向对象编程18(流之 InputStream,OutputStream)
- PAT A1088. Rational Arithmetic (20)
- Python-pip的安装和配置
- 黑苹果无线网卡的三种解决方案
- Win 7/10安装numpy、pandas、scipy和matplotlib
- 20170915
- web前端常用网站网址
- 定时换图
- 代理模式接触