1.File类的使用

  1. File类的一个对象,代表一个文件或一个目录
  2. 在java.io包下

    1. //构造器1
    2. File file = new File(String path);
    3. //构造器2
    4. File file = new File(String parentPath,Stirng childPath);
    5. //D:\a路径下的JavaSenior目录
    6. File file = new File(File file1,String childPath);
  3. 方法的使用

文件的写入与读取,必须用IO流来完成。
image.png
image.png
image.png
image.png


2.IO流概述

  1. 流的分类:

image.png
image.png

  1. 流的体系结构

    image.png
    红框对应IO流中四个抽象基类
    蓝框重点关注


image.png

  1. 输入输出的标准化过程:

4.1输入过程
image.png
4.2输出过程
image.png

节点流

image.png

image.png
image.png

image.png
image.png
image.png

  1. 文件复制

image.png
image.png
image.png

  1. FileInputStream与FileOutputStream

image.png
image.png
可处理非文本文件:
例如图片复制
image.png
image.png
指定路径下文件复制方法:
image.png

image.png

缓冲流

  1. 涉及到的类

image.png

  1. 作用:

image.png
image.png

  1. 典型代码:

3.1使用BufferdInputStream和BufferedOutputStream处理非文本文件
image.png
image.png
image.png
3.2 使用BufferedReader和BufferedWriter:处理文本文件
image.png

对象流

ObjectInputStream和ObjectOutputStream
image.png
序列化:ObjectOutputStream保存
反序列化:ObjectInputStream读取
不能序列化static,transient修饰的成员变量。
要求实现Serializable接口。
image.png
image.png
image.png
除了保证该类可序列化,该类内部属性也应全部可序列化。(基本类型默认可序列化)。

随机存取文件流RandomAccessFile

image.png

  1. raf.seek(int pos);//将指针调到角标对应的位置
  2. raf.write("xyz".getBytes());
  3. 使用RandomAccessFile实现插入效果
  4. StringBuilder builder = new StringBuilder((int)new File("hello.txt").length());

73FE862C-6B77-4D38-BAE1-1FBDE77FB33F.jpeg
ByteArrayOutputStream baos = new ByteArrayOutputStream();//避免乱码