Java 流概念

Java 的流策略:

流过滤器的分层:

1. 一部分流可以从文件或其他地方接收字节.()

FileInputStream(), URL 类中的openStream

FileInputStream fin=new FileInputStream(“file1.txt”); //当前路径的文件

或者

File f=new File(“file1.txt”);

FileInputStream fin =new FileInputStream(f);

这些类只在字节层次上支持读写,所以只能从fin中读取字节或者字节数组

Byte b=(byte)fin.read();

2. 另一些流可以将字节组合成更有用的数据类型. 比如DataInputStreamPrintWriter

 

Java程序员通过将一个已经存在的流传递给另一个流的构造器的方法,将这2中流结合起来,结合后的流被称为过滤流。

 

比如为了能从文件中读取数值,首先创建一个FileInputStream流,然后传入到DataInputStream的构造器。

FileInputStream fin=new FileInputStream(“file1.txt”);

DataInputStream din=new DataInputStream (fin);

Double a=din.readDouble();

 

利用上面语句建立的输入流没有与一个新的磁盘文件关联。但是,现在能使用一种功能更多的接口了。

 

一般情况下流不能进行缓冲处理,每次对流read都会要求操作系统发送一个新字节,如果想要对文件进行缓冲操作和数据输入操作,需要用下面结构的构造器

DataInputStream din=new DataInputStream (new BufferedInputStream(new FileInputStream(“file1.txt”)));

 

流的类介绍:

FileInputStream(String name)

新建一个新的文件输入流,name是文件的路径

FileInputStream(File f)

新建一个新的文件输入流,使用封装在File中的对象

FileOutputStream(String name)

新建一个name字符串指定的输出流。路径名不是绝对路径,而是相对于当前的工作路径。该方法会自动删除同名的文件。

FileOutputStream(String name Boolean append)

appendtrue时,是将数据追加到文件的结尾。存在的同名文件不会被删除

FileOutputStream(File f)

新建一个新的文件输出流,使用封装在File中的对象。该方法会自动删除同名的文件。

BufferedInputStream(InputStream in)

新建一个默认大小的缓冲流,缓冲的输入流从一个流中读取字符,而不会每次都引起对设备的访问。当缓冲区空时,一个新的数据块将会被读入缓冲区。

BufferedInputStream(InputStream in int n)

用户自定义缓冲区大小

BufferedOutputStream(InputStream in)

新建一个默认大小的缓冲流,缓冲输出流收集写入字符,而不会每次都引起对设备的访问。当缓冲区满或者流被刷新时,数据被写入设备。

BufferedOutputStream(InputStream in int n)

用户自定义缓冲区大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值