- File的简介
1.1生活中的文件
- 文件的作用:可以持久化(瞬时状态的对立状态)
- 文件的定义:一堆数据的聚合
文件存储的位置:磁盘、硬盘、U盘等
1.2计算机中的文件File
- File的定义:java.io中的File类
- 创建File 步骤 : new File();//创建文件实例
- File的属性 :文件的位置,文件的名称,文件内容
1.3File文件的增删查
- 新增文件
查询文件
删除文件:
2.流
1生活中的流
人流、车流 类似于 人或是车的集合
2计算机中的流
2.1数据的集合:【机制:先进先出】
2.2流:传递的方向:从源数据源传递到目标数据源
3.流的指向
(1)读入【文件中 读入到 程序中】
(2)写出【程序中 写出到 文件中】
4.流的分类
- 按流向分:输出流:OutputStream 和Writer
输入流:InputStream 和Reader
2.按处理单元分:字节流:inputStream和OutputStream
字符流:Reader和Writer
3.字节流
1.FileInputStream字节输入流实现读取
场景1:
场景2:原样输出
场景3遍历流:读取文件中所有的数据
场景4数组的形式遍历:
核心要点:利用数组机制,将读取的内容存储到数组中,效率大大提高
场景5实现复制:
核心要点:利用字节输入流(FileInputStream)和字节处输出流(FileOutputStream)实现复制
场景6
核心要点:【场景1--------场景5的代码优化】
5.字符流
- 字节流乱码问题
核心要点:处理中文不要用字节流用字符流
2.FileReader字符流实现读取
核心要点:如果文件中出现中文,需要用字符流实现字符串的输出
将 fileReader流中的数据读入到数组c中,返回值为数组中数据的总长度
3.FileWriter字符流实现写出
6.缓冲流
1.字符流FileReader加BufferedReader实现读取
2.字符流FileWriter加BufferedWriter实现写出
7.字符流的复制
- 复制二进制文件(图片,视频)
核心要点:一般复制二进制文件、图片、视频 优先建议使用字节流加DataInputStream/DataOuputStream