本周将开始学习IO流
在学习IO流之前,我们还要学习File类的使用
一、File
在 Java 中,`java.io.File` 类用于表示文件或目录的抽象路径名。它提供了许多方法来操作文件和目录,例如创建、删除、重命名、判断是否存在等。
以下是一些常用的 `File` 类的方法和用法:
1. 创建 `File` 对象:
File file = new File("path/to/file.txt");
可以传递文件路径或目录路径来创建一个 `File` 对象。
2. 判断文件或目录是否存在:
boolean exists = file.exists();
使用 `exists()` 方法可以判断文件或目录是否存在。
3. 创建新文件:
boolean created = file.createNewFile();
使用 `createNewFile()` 方法可以在指定路径上创建一个新文件。如果文件已存在,则返回 false。
4. 创建新目录:
boolean created = file.mkdir();
使用 `mkdir()` 方法可以在指定路径上创建一个新目录。
5. 获取文件名:
String fileName = file.getName();
使用 `getName()` 方法可以获取文件或目录的名称。
6. 获取文件路径:
String filePath = file.getPath();
使用 `getPath()` 方法可以获取文件或目录的路径。
7. 删除文件或目录:
boolean deleted = file.delete();
使用 `delete()` 方法可以删除文件或目录。
8. 列出目录下的文件和子目录:
File[] files = file.listFiles();
使用 `listFiles()` 方法可以获取目录下的文件和子目录的数组。
这只是一些 `File` 类的常用方法示例,还有其他更多方法可以用来处理文件和目录的操作。在使用 `File` 类的方法时,需要注意异常处理和路径的正确性。
二、Java IO流
1、概念:
IO是Input(输入)和Output(输出)的首字母缩写。
I(输入Input):指向Java程序中输入数据,即Java程序从外部获取数据。
O(输出Output):指的是Java程序向外部输出数据,即Java程序向外部发送数据。
流:在Java程序和外部之间,数据像水流一样按照顺序传输。Java中,流有两种形式,字节流和字符流,下文会讲解。
外部(也就是数据源)包括:源设备 和 目标设备。
源设备:Java程序使用Input(输入)获取数据的来源。
目标设备:Java程序使用Output(输出)发送数据的目的地
2、作用:
Java IO用在Java程序和外部进行数据交互,Java程序运行在内存中,要与外部(如:磁盘、网络、数据库等)地方交互数据则需要使用Java IO。
比如:在本地磁盘的某个txt文件上读写运行日志、读写MySQL数据库的内容等。
Java中,流有两种形式,字节流和字符流。
四大抽象类分别为:InputStream、OutputStream 和 Reader、Writer
按对象分可分为两种:
Ⅰ.节点流(也称文件流)
FileInputStream / FileOutputStream:节点流,以字节为单位,直接操作文件。
FileReader / FileWriter:节点流,以字节为单位直接对文本文件进行读写。
Ⅱ.处理流
BufferedInputStream / BufferedOutputStream:缓冲流,将InputStream/OutputStream对象进行包装,增加缓存功能,提高读写效率
BufferedReader / BufferedWriter:缓冲流,将Reader/Writer对象进行包装,增加缓存功能,提高读写效率。
ObjectInputStream / ObjectOutputStream:对象流,以字节为单位直接操作对象。
在用对象流操作对象时,要确保对象是可序列化的,对象所对应的类应该实现Serializable接口
同时,还要设置一个全局常量
private static final long serialVersionUID = 1L;
这个成为序列化ID,它决定着是否能够成功反序列化。
本周学习到此结束,下周将进行图书管理系统的编写