IO 流 四个抽象类和对应的抽象方法
来源:互联网 发布:网络棋牌赌博案件 编辑:程序博客网 时间:2024/04/29 05:55
输入/输出流的分类
java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类:
按数据流的方向不同可以分为输入流和输出流。
按处理数据单位不同可以分为字节流和字符流。
按照功能不同可以分为节点流和处理流。
J2SDK所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。
四个抽象类
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
凡是以Stream结尾的全是字节流,即最原始的读数据的方式,一个字节一个字节往外读
输入流:一根管道钝到文件上,开始读数据,站到文件的角度上这叫输出,站到程序的角度上,这叫输入,以后说输入和输出都是站在程序的角度上的。
反过来叫输出流
字节流:010101001最原始的,一个字节一个字节往外读
字符流:一个字符一个字符,即两个字节
节点流:管道直接钝到数据源上,这叫做节点流
处理流:套在其他管道之上的这些个流叫做处理流
继承自InputStream的流都是用于向程序中输入数据,且数据的单位是字节(8bit)
FileInputStream 从文件读数据的
PipeInputStream 从管道读数据的
FilterInputStream LineNumberInputStream DataInputStream BufferedInputStream PushbackInputStream
InputStream ByteArrayInputStream 从字节数组往外读数据
SequenceInputStream
StringBufferInputStream 从字符串往外读数据
ObjectInputStream 把一个对象从某一个流里面给读出来
InputStream的基本方法:int read() throws IOException read一下就读一个字节
int read(byte[] buffer) throws IOException把字节数组帮我填满数据以后再对他进行处理
int read(byte[] buffer,int offset,int length) throws IOException 读length个字节数,存放到byte[] buffer这个字节数组中去,从字符数组的int offset位置开始存 void close() throws IOException 读完了所有的数之后要关闭
long skip(long n) throws IOException这个是跳过多少个字节不读,用的极少
PipedOutputStream 从管道中写数据
OutputStream FilterOutputStream DataOutputStream BufferedOutputStream PrintStream
ByteArrayOutputStream
ObjectOutputStream
OutputStream的基本方法: void write(int b) throws IOException
void write(byte[] b) throws IOException
void write(byte[] b, int off,int len) throws IOException 写一个数组的一部分,从数组byte[] b的int off开始,写int len个数祖
void close() throws IOException 关闭流释放内存空间,简单粗暴
void flush() throws IOException 它的意思是先把缓冲区当中的内容写进去,然后再执行close,良好的变成方式,先写flush再写close
Reader 继承自Reader的流都是用于向程序中输入数据,和InputStream一模一样,但是她一次干俩字节;例如中文在java中都是两个字节,下图第二层为字节流,第三层为处理流
BufferedReader LineNumberReader
CharArrayReader
Reader InputStreamReader FileReader
FilterReader PushbackReader
PipedReader
StringReader
Reader的基本方法:int read() throws IOException 读一个字符数组出来
int read(char[] cbuf) throws IOException读一个字符数组出来
int read(char[] cbuf,int offset,int length) throws IOException读一个字符数组的一部分
void close() throws IOException
long skip(long n) throws IOException
Writer 继承自Writer的流都是用于程序中输出数据,且数据的单位为字符(16 bit);下图第二层为节点流,第三层为处理流
BufferedWriter
CharArrayWriter
OutputStreamReader FileWriter
Writer FilterWriter
PipedWriter
StringWriter
FilterWriter
Writer的基本方法: void write(int c) throws IOException 写一个字符数出去
void write(char[] cbuf) throws IOException 写一个字符数组出去
void write(char[] cbuf, int offset,int length) throws IOException写一个字符数组的一部分出去
void write(String string) throws IOException写一个字符串处出去
void write(String string,int offset,int length) throws IOException写一个字符串的一部分出去
void close() throws IOException
void flush() throws IOException
java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类:
按数据流的方向不同可以分为输入流和输出流。
按处理数据单位不同可以分为字节流和字符流。
按照功能不同可以分为节点流和处理流。
J2SDK所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。
四个抽象类
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
凡是以Stream结尾的全是字节流,即最原始的读数据的方式,一个字节一个字节往外读
输入流:一根管道钝到文件上,开始读数据,站到文件的角度上这叫输出,站到程序的角度上,这叫输入,以后说输入和输出都是站在程序的角度上的。
反过来叫输出流
字节流:010101001最原始的,一个字节一个字节往外读
字符流:一个字符一个字符,即两个字节
节点流:管道直接钝到数据源上,这叫做节点流
处理流:套在其他管道之上的这些个流叫做处理流
继承自InputStream的流都是用于向程序中输入数据,且数据的单位是字节(8bit)
FileInputStream 从文件读数据的
PipeInputStream 从管道读数据的
FilterInputStream LineNumberInputStream DataInputStream BufferedInputStream PushbackInputStream
InputStream ByteArrayInputStream 从字节数组往外读数据
SequenceInputStream
StringBufferInputStream 从字符串往外读数据
ObjectInputStream 把一个对象从某一个流里面给读出来
InputStream的基本方法:int read() throws IOException read一下就读一个字节
int read(byte[] buffer) throws IOException把字节数组帮我填满数据以后再对他进行处理
int read(byte[] buffer,int offset,int length) throws IOException 读length个字节数,存放到byte[] buffer这个字节数组中去,从字符数组的int offset位置开始存 void close() throws IOException 读完了所有的数之后要关闭
long skip(long n) throws IOException这个是跳过多少个字节不读,用的极少
继承自OutputStream的流是用于程序中输入数据,且数据的单位为字节(8 bit);下面第二层为节点流,第三层为处理流
FileOutputStream 管道钝到文件中写数据PipedOutputStream 从管道中写数据
OutputStream FilterOutputStream DataOutputStream BufferedOutputStream PrintStream
ByteArrayOutputStream
ObjectOutputStream
OutputStream的基本方法: void write(int b) throws IOException
void write(byte[] b) throws IOException
void write(byte[] b, int off,int len) throws IOException 写一个数组的一部分,从数组byte[] b的int off开始,写int len个数祖
void close() throws IOException 关闭流释放内存空间,简单粗暴
void flush() throws IOException 它的意思是先把缓冲区当中的内容写进去,然后再执行close,良好的变成方式,先写flush再写close
Reader 继承自Reader的流都是用于向程序中输入数据,和InputStream一模一样,但是她一次干俩字节;例如中文在java中都是两个字节,下图第二层为字节流,第三层为处理流
BufferedReader LineNumberReader
CharArrayReader
Reader InputStreamReader FileReader
FilterReader PushbackReader
PipedReader
StringReader
Reader的基本方法:int read() throws IOException 读一个字符数组出来
int read(char[] cbuf) throws IOException读一个字符数组出来
int read(char[] cbuf,int offset,int length) throws IOException读一个字符数组的一部分
void close() throws IOException
long skip(long n) throws IOException
Writer 继承自Writer的流都是用于程序中输出数据,且数据的单位为字符(16 bit);下图第二层为节点流,第三层为处理流
BufferedWriter
CharArrayWriter
OutputStreamReader FileWriter
Writer FilterWriter
PipedWriter
StringWriter
FilterWriter
Writer的基本方法: void write(int c) throws IOException 写一个字符数出去
void write(char[] cbuf) throws IOException 写一个字符数组出去
void write(char[] cbuf, int offset,int length) throws IOException写一个字符数组的一部分出去
void write(String string) throws IOException写一个字符串处出去
void write(String string,int offset,int length) throws IOException写一个字符串的一部分出去
void close() throws IOException
void flush() throws IOException
0 0
- IO 流 四个抽象类和对应的抽象方法
- C#的抽象类和抽象方法
- java的抽象类和抽象方法
- Java的抽象类和抽象方法
- JAVA的抽象类和抽象方法
- 抽象类和抽象方法的特点
- java的抽象类和抽象方法
- 【J2SE快速进阶】——IO流的四个基本抽象类InputStream、OutputStream、Reader、Writer
- 抽象类和抽象方法
- 抽象类和抽象方法
- 抽象方法和抽象类
- 抽象方法和抽象类
- 抽象类和抽象方法
- 抽象类和抽象方法
- 抽象方法和抽象类
- 抽象方法和抽象类
- 抽象类和抽象方法
- 抽象类和抽象方法
- cheap replica sports jerseys
- DNS support edns-client-subnet
- HDU1116 Play on Words 【欧拉图】+【并查集】
- 唯有专注
- Hive中Order by, Sort by ,Dristribute by,Cluster By的作用和用法
- IO 流 四个抽象类和对应的抽象方法
- iBATIS 搭建成功
- java 中的printStackTrace()方法
- 实验理解ADMIN OPTION和GRANT OPTION的用法
- Java SSH 项目总结——Jquery LigerUI-表格 Json转化
- 使用openwrt配置https访问
- UISwitch详解
- 利用银行家算法避免死锁(Java简单实现)
- Hadoop大象之旅002-安装CentOS操作系统