File类
File类能新建,删除,重命名文件和目录,但File不能访问文件内容本身。
IO
1.io流用来处理设备之间的数据传输
2.Java程序中,对于数据的输入输出操作以“流(stream)”的方式进行
3.Java.io包下提供了各种 “流” 类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。
流的分类
- 按操作数据单位不同分为:字节流(8bit),字符流(16bit)。
- 按流向不同分为:输入流,输出流。
- 按流的角色不同分为:节点流,处理流。
主要有一下四个基类:
抽象基类 | 字节流 | 字符流 |
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
缓冲流
缓冲流就是先把数据缓冲到内存中,再在内存中去做 io 操作。
转换流
转换流提供了字节流和字符流之间的转换
InputStreamReader,OutputStreamWriter
对象流
因为需要保存对象到硬盘(对象的持久化)和对象的网络传输,所以产生了对象的输入与输出流。
用于存储和读取对象的数据流,可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。
- 序列化:用ObjectOutputStream类将一个Java对象写入IO流中。
- 反序列化:用ObjectInputStream类从IO流中恢复该对象。
- ObjectOutputStream,ObjectInputStream不能序列化static和transient修饰的成员变量。
RandomAccessFile类
RandomAccessFile类支持“随机访问”的方式,是指程序可以直接跳到文件的任意地方来读写文件。
RandomAccessFile对象包含一个指针,来标识当前读写处的位置。
RandomAccessFile类可以自由移动记录指针。