I O流的各种功能

InputStream类和OutputStream类

inputStream.read()方法

从输入流中读取数据的下一个字节,如果因为到达末尾而没有可用的字节,返回值为1,就是说,读取完成之后返回-1,告诉我们读取已经完成了。

inputStream.read(byte[] b) 从输入流中读取一定长度的字节,并且以整数的形式返回字节数。

用in代替input stream in.close() 关闭此输入流并且释放与该流关联的所有系统资源。

还有很多

但是

并不是所有的input stream子类都支持inputstream定义的方法

outputstream 输出流

out.write() 将指定的字节写入输出流

()里面可以是 int b byte[] b 将b个字节从指定的的byte数据写入此输出流

或者是(byte b,int off,int len) 总结说就是将 byte数组中从off开始的len个字节都写入输出流

out.close 就是关闭输出流

通俗一点来说,in是读取,out是写入

Fileinputstream和Fileoutputstream

Fileinputstream和Fileoutputstream两个类都是用来操作磁盘文件,如果读取的需要比较简单,就可以使用这两个类,这两个类分别继承于上面的两个类,提供了基本的文件写入能力。

提供的方法是Fileinputstream(String s) 意思是 使用给定的文件名s创建一个Fileinputstream对象

Fileinputstream(File file) 意思是使用File对象创建Fileinputstream对象

java在使用完流之后应该自己关闭(close)所用的流

FileReader和FileWriter

这两个流是补足上面两个流的缺点

因为上面两个流(Fileinputstream和Fileoutputstream)都只提供了对字节或者字节数组的读取方法,但是汉字在文件中占用两个字节,如果使用他们两个流,读取不好就会出现乱码现象,此时采用FileReader和FileWriter类就可以避免乱码现象

使用的时候,FileReader流顺序读取文件,只要不关闭(close)流,每次调用read()方法就会顺序读取其余的内容,直到流的末尾或是流被关闭。

带有缓存的输入输出流 Bufferedinputstreaam和Bufferedoutputstream类

BufferInputStream类可以对所有的InputStream类进行带缓存区的包装以达到性能的优化

BufferInputStream有两个构造方法,(Inputstream in)和(Inputstream in, int size)

第一种是创建一个32字节的缓存流,第二种是按照指定的大小创建缓存区

读取过程是 文件 到 input stream 到 Bufferinputstream 到 目的地

out的构造方法与它完全相同

BufferReader 和 BufferWriter

他们两个分别继承Reader 和Writer 类

BufferReader 里面常用的方法有 read() 读取单个字符

readline()读取一个文本行,将其返回字符串,如果没有读取到数据 就返回null

BufferWriter 常用的构造方法是

write(String s,int off, int len) 按照类似的规则,写入字符串的一部分

flush() 刷新该流的缓存,使用bufferedwriter类的write方法时,数据并没有被写入输出流,而是进入缓存区,如果要立刻将缓存区中的数据写入输出流,一定要调用flush方法。

压缩输入输出流

zipoutputstream 压缩 和 zipinputsream 解压缩

zipoutputstream类的常用方法 有 putnextentry(zipentry e) 开始写入一个新的zipentry并将流内的位置移到此entry所指的数据开头

finish() 完成写入zip输出流的内容,无需关闭他所配合的outputstream

解压缩 Zipinputstream (inputstream in)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值