美文网首页
java基础之IO流

java基础之IO流

作者: 沈默的头号狗腿 | 来源:发表于2018-06-16 18:10 被阅读0次

IO流上:概述、字符流、缓冲区(java基础)

IO流结构图

FilterInputStream、FilterOutputStream

FilterInputStream、FilterOutputStream 过滤器字节输入流、输出流,这里用到了装饰器模式,它的主要用途在于给一个对象动态的添加功能。

当我们在创建FilterInputStream、FilterOutputStream这两个类的实例时需要传入一个InputStream、OutPutStream的子类,比如:当构造FilterOutputStream时传递进去的是FileOutputStream,而FileOutputStream和FilterOutputStream实现的是同一个抽象类OutputStream,那么FilterOutputStrean对FileOutputStream的装饰对于客户端来说就是透明的,可以在FileOutputStream的方法执行之前或之后加上一些额外的操作来达到装饰的效果。

  FilterInputStream、FilterOutputStream仅仅是对InputStream、OutputStream中所有方法进行了重写,并且只是调用传入的InputStream、OutputStream子类的方法,话句话说就是没有对传入的低级字节输入流进行任何的装饰,它们的作用是为所有字节输入流的装饰类提供一个标准、一个类似于接口的作用,具体的装饰功能由FilterInputStream、FilterOutputStream的子类来完成。

缓冲流

缓冲输出流都提供了flush方法,用以将缓冲数组中的内容输出至文件,close方法内部调用了flush方法,当缓冲数组中被填满时,也会自动将内容写入到硬盘中。

关闭流时由于缓冲流的close方法内部执行了被装饰流的close方法,所以在关闭流时,只需执行缓冲流的关闭方法即可。

BufferedInputStream额外提供的方法为void mark(int readlimit) 和 void reset() throws IOException,缓冲字符流也具有这些功能

它的作用就是在当前位置作1个标记,  它允许调用另1个方法reset() 令到流重新定位到这个标记上.

BufferedReader常用的额外提供的方法有readline(),即读取一行字符,不包括换行符,如果已到达流末尾,则返回null。

BufferedWriter常用的额外提供的方法有newline(),即开启新的一行。

转换流

OutputStreamWriter字符输出流

OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流

OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流

InputStreamReader字符输入流

InputStreamReader(InputStream is):用默认的编码读取数据

InputStreamReader(InputStream is,String charsetName):用指定的编码读取数据

序列流

SequenceInputStream

序列流,对多个流进行合并。

SequenceInputStream表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

构造函数

SequenceInputStream(InputStream s1, InputStream s2)

SequenceInputStream(InputStream s1, InputStream s2)

ObjectOutputStream和ObjectInputStream

java基础之序列化和反序列化

打印流

PrintStream可以接受文件和其他字节输出流,所以打印流是对普通字节输出流的增强,其中定义了很多的重载的print()和println(),方便输出各种类型的数据。

PrintStream

是一个字节打印流,System.out对应的类型就是PrintStream。

它的构造函数可以接收三种数据类型的值。

1,字符串路径。

2,File对象。

3,OutputStream。

PrintWriter

是一个字符打印流。构造函数可以接收四种类型的值。

1,字符串路径。

2,File对象。

对于1,2类型的数据,还可以指定编码表。也就是字符集。

3,OutputStream

4,Writer

相关文章

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

  • Java基础之IO流

    ##Java基础之IO流IO流常用几个类的关系如下: 字节流 字节输入流FileInputStream 读取文件用...

  • java IO入门笔记

    1.java IO流的概念,分类,类图 1.1. java IO 流的概念 java的io是实现输入和输出的基础,...

  • Java IO详解

    1 Java IO流的概念,分类 1.1 Java IO流的概念 java的IO是实现输入和输出的基础,可以方便的...

  • Java基础之IO流

    Java基础之IO流 简单介绍Java中有两种IO流,第一种是以Steam结尾的字节流,第二种是以Writer或者...

  • java基础之IO流

    IO流上:概述、字符流、缓冲区(java基础) IO流结构图 FilterInputStream、FilterOu...

  • Java基础之IO流

    流就是当不同的介质之间有数据交互的时候,JAVA就使用流来实现。数据源可以是文件,还可以是数据库,网络甚至是其他的...

  • JAVA之IO流基础

    1.A:IO技术概述 * a: Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Out...

  • Java基础之IO流

    1.IO流 Java中有几种类型的流 答:字节流,字符流。字节流继承于InputStream、OutputStre...

  • Java基础之IO流

    什么是IO流?  IO是指应用程序对设备数据的输入输出操作。流的本质是数据传输。例如:键盘是输入设备,而显示器则是...

网友评论

      本文标题:java基础之IO流

      本文链接:https://www.haomeiwen.com/subject/nyhkeftx.html