java中文件与流

文件和流

1.文件类java.io.File类
用于描述系统中文件或目录(文件夹),它仅仅是描述“文件”本书,不描述“文件”的内容

File类也允许描述一个虚拟的文件路径(file实例指向不存在的文件)

File类中的API

2.流 stream
控制二进制数据从一个介质转移到另一个介质的流转操作

流的分类
按照流向:输入流 输出流(针对内存以内存为角度来看待,也就是电信号)
按照处理单位来划分:字节流 字符流(以流的最小单位来划分)
按照功能进行划分:原始流 :提供最基础的流的功能
处理流 :从某个方面来加强原始流

处理流的构造方法的参数一定是另外一个流实例

基础父类 :
输入 输出
字节 inputstream outputstream
字符 reader writer

他们的子类以父类的名字为后缀

bufferoutputstream 字节输出流
=new bufferoutputstream(outputsteam out)//要处理的流
filereader 字符输入流
=new fileReader(File f)//不依赖于其他的流

2.文件流(原始流)
输入:将文件的内容读取到内存中
输出:将内存中的数据写入到文件中

fileinputstream 文件字节输入流
fileoutputstream 文件字节输出流
FileReader 文件字符输入流

缓冲流
提供了内部缓冲区提升了流的传输速度
同时也提供了一些加强流操作的API

buffered前缀

序列化
一种特殊的处理流,允许开发者直接将一个对象实例直接以二进制的方式直接序列化到其他介质中。

反序列化:将已经序列化的二进制数据反向从其他介质恢复到内存中。
步骤:1.可被序列化的类必须实现java.io.serializable接口
2.生成一个第一无二的序列码

如果需要序列化多个对象,可以将多个对象存入集合,将集合序列化
从内存中到磁盘的过程是序列化,从磁盘到内存是反序列化。对对象或者类都可以进行序列化。
FileOutputStream fos=new FileOutputStream(f);
ObjectOutputStream oss=new ObjectOutputStream(fos)//对对象的序列化

FileInputStream fis = new FileInputStream(“d:/employee.abc”);
ObjectInputStream ois = new ObjectInputStream(fis);
//反序列化
transient:被其修饰属性,不参与序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值