处理流(过滤流)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fighting123678/article/details/84259001

1、提供更加强大的读取功能,不是只能读取字符或者字节类型


2、我们希望读取的不仅仅是一个字节,而是一个字符串、一个double类型的数据等等能够直接用的数据(比如从磁盘中读取生命值,直接读取double类型的是很方便的,但是直接读取字符串是很麻烦的)

FileInputStream:节点流可以从文件中读数据,每次读取一个节点回来,但是读节点对程序员来说没有太大的用处

DoubleInputStream:希望可以直接读一个double等一些基本类型回来,读之后就能直接用了,但是无法直接从文件中直接读取数据


3、为了结合上面两者的优点,也就是既能直接读取字节,还能将直接读取的字节转换成自己想要的类型,这就需要组装

读的时候(文件或者其它位置读写字节)

数据源—FileInputStream(读字节)—BufferedInputStream(处理流,buffer+缓冲区,效率更高,但是读出来的还是字节)—DataInputStream(处理流,可以读double等一些基本类型的数据)

将读出来的字节转换成更有用的数据类型

写的时候(将不同的数据写到磁盘中)

数据—DATAOutputStream—BufferedOutputStream—FileOutputStream(二进制往磁盘中写)

DataInputStream从FileInputStream中读回的字节,通过DataInputStream转换成各种数据类型,返回给s变量。

DataInputStream din=null;
try
{
  din=new DataInputStream(new FileInputStream("E:\\\\workplace\\\\KeJian\\\\unicode.txt"));
}
catch(FileNotFoundException  e)
{
	System.out.println("找不到文件");
}

问题:DataInputStream中是什么类型的


4、顺序问题,为了转换成什么样,就最后new谁

猜你喜欢

转载自blog.csdn.net/fighting123678/article/details/84259001
今日推荐