目录
1、File
1.1 File类概述
File:它是文件和目录路径名的抽象表示
- 文件和目录可以通过File封装成对象
- 对于File来说,它封装的并不一定是一个真正存在的文件,仅仅只是一个路径名,即它是可以存在的,也是可以不存在的,后续要通过具体的操作把路径的内容转化为具体
方法名 | 说明 |
---|---|
File(String pathname) | 通过将给定的路径名字符串转化为抽象路径名来创建新的File实例 |
File(String parent, String child) | 从父路径名字符串和子路径名字符串创建新的File实例 |
File(File parent, String child) | 从父抽象路径名和子路径名字符串创建新的File实例 |
1.2 File类创建功能
方法名 | 说明 |
---|---|
public boolean createNewFile() | 当具有该名称的文件不存在时,创建一个新的空文件 如果文件存在,则不创建文件并返回false 如果文件不存在,则创建文件返回true |
public boolean mkdir() | 创建此抽象路径名的目录 如果目录存在,则不创建文件并返回false 如果目录不存在,则创建文件返回true |
public boolean mkdirs() | 创建此抽象路径名的目录,包括任何必须但不存在的父目录(多级目录) 如果目录存在,则不创建文件并返回false 如果目录不存在,则创建文件返回true |
1.3 File类判断和获取功能
方法名 | 说明 |
---|---|
public boolean isDirectory() | 测试此路径名表示的是否为目录 |
public boolean isFile() | 测试此路径名表示的是否为文件 |
public boolean exists() | 测试此路径名表示的File是否存在 |
public String getAbsolutePath() | 返回此路径名的绝对路径名 |
public String getPath() | 将此抽象路径名转化为路径名称字符串 |
public String getName() | 返回此路径名表示的文件或目录名称 |
public String[] list() | 返回此路径名表示的目录中的文件和目录的名称组成的字符串数据 |
public File[] listFiles() | 返回此路径名表示的目录中文件和目录的File对象数组 |
1.4 File类删除功能
方法名 | 说明 |
---|---|
public boolean delete() | 删除此路径名表示的文件或目录 如果删除的是目录,且目录下有文件,则不能直接删除 |
2、字节流
2.1 IO流概述及分类
IO流概述:
- IO:输入/输出(Input/Output)-->针对于内存
- 流:抽象概念,对数据传输的总称,即数据在设备间的传输称为流,其本质为数据传输
- IO流:用来处理设备间的数据传输问题
IO流的分类:
- 按数据流向
- 输入流:读数据(硬盘到内存)
- 输出流:写数据(内存到硬盘)
- 按数据类型(默认)
- 字节流
- 字符流
2.2 字节流
字节流抽象基类:
- InputStream:表示字节输入流的所有类的超类
- OutputStream:表示字节输出流的所有类的超类
字节流写数据:
- FileOutputStream:文件输出流用于将数据写入file
方法名 | 说明 |
---|---|
FileOutputStream(String name) | 创建文件输出流以指定的名称写入文件 文件不存在,则会自动创建文件,即new File(name) |
方法名 | 说明 |
---|---|
void write(int b) | 将指定的字节写入此文件输出流 一次写一个字节数据 |
void write(byte[] b) | 将b.length字节从指定的字节数据写入此文件输出流 一次写一个字节数组数据 |
void write(byte[] b, int off, int len) | 将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流 一次写一个字节数据的部分数据 |
public static void main(String[] args) throws IOException {
//创建输出流
FileOutputStream fos = new FileOutputStream("e://text.txt");
//写入内容
fos.write(70);
//释放资源
fos.close();
}
写数据的“坑”:
- 写数据实现换行
public static void main(String[] args) throws IOException { //创建输出流 FileOutputStream fos = new FileOutputStream("e://text.txt"); //写入内容 for (int i = 0; i < 5; i++) { fos.write("abc".getBytes()); //实现换行win:\r\n; linux: \n; fos.write("\r\n".getBytes()); } //释放资源 fos.close(); }
- 追加写入
追加写入(构造方法) 方法名 说明 public FileOutputStream(String name, boolean append) 第二个参数为true,则字节将写入文件的末尾