输入输出流IO

File:普通文件类,创建,删除,重命名,判断文件是否存在,判断文件的读写权限,设置和查询文件的最后修改时间等。

在java中,目录也被当作File类使用,只是多了一些目录特有的功能:用list方法列出目录里的文件名。路径分割符(/和\)随便使用哪一个都行。

______________________________________________________________________

RandomAccessFile:
此类有一个位置指示器,一开始指向文件开头,可以通过skipBytes(n)方法来随意跳转.
______________________________________________________________________

节点流:
数据流大致分为2类:节点流类和过滤流类(也叫处理流类)。
节点流类:程序用于直接操作目标设备的类
过滤流类(处理流类):用来调用节点流类的类
______________________________________________________________________

InputStream和OutputStream:
这2个类都是抽象类,都会产生io异常,创建IO流时,计算机内存中会产生2个事物:一个是JAVA对象,另一个是系统中的某个资源。所以用完后都必须用close()释放资源。
______________________________________________________________________

缓冲区:
计算机访问外部设备,要比访问内存慢的多,所以一般情况下都会建立一个缓冲区(数组或其他可以储存数据的类),程序每一次write的时候都写进这个缓冲区中,直到缓冲区被塞满,才一次性的写入外部设备。

这样做可以提高CPU使用率,而且还有个好处,write并没有马上写入到外部设备,我们还可以回滚部分写入的数据。

使用缓冲区可以提高计算机的运行效率,但是却会降低某些程序的效率(比如说在网络中,因为并没有即时写入网络,就会产生网络延迟)
______________________________________________________________________

FileInputStream和FileOutputStream类:
这2个类都是用来操作磁盘文件的。

Reader与Writer:
这2个也都是抽象类,跟InputStream和OutputStream对应。

PipedInputStream和PipedOutputStream类:
Pipe的in和out主要用于多线程之间的通信
In和out一定要产生一个管道(用connect连起来)
一旦连起来,那out就可以往管道塞数据,in就可以从管道取数据

IO的类太多了,写不完.....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值