目录
File
File类只能对文件本身进行操作,不能读写文件里面存储的数据。
public File(String pathname) | 根据文件路径创建文件对象 |
public File(String parent, String child) | 根据父路径和子路径名字创建文件对象 |
public File(File parent, String child) | 根据父路径对应文件对象和子路径名字很创建文件对象 |
public boolean createNewFile() | 创建一个新的空的文件 |
public boolean mkdir() | 只能创建一级文件夹 |
public boolean mkdirs() | 可以创建多级文件夹 |
public boolean delete() | 删除文件、空文件夹 |
方法递归
方法调用自身的形式称为方法递归
文件搜索
找D:盘里搜索"QQ.exe"这个文件,找到后直接输出其位置。
1、先找出D:盘下的所有一级文件对象
2、遍历全部一级文件对象,判断是否是文件
3、如果是文件,判断是否是自己想要的
4、如果是文件夹,需要继续进入到该文件夹,重复上述过程
public static void main(String[] args) {
File dir = new File("D:/");
searchFile(dir, "QQ.exe");
}
public static void searchFile(File, String) {
//1、判断极端情况
if(dir == null || !dir.exists() ||dir.isFile()){
return;//不搜索
}
//2、获取目录下的所有一级文件或者文件夹对象
File[] files = dir.listFiles();
//3、判断当前目录下是否存在一级文件对象,存在才能遍历
if(files != null && files.length > 0){
for (File file : files) {
//5、判断当前一级文件对象是否是文件
if(file.isFile()){
//6、判断文件名称是否和目标文件名称一致
if(file.getName().contains(fileName)){
System.out.println("找到目标文件" + file.getAbsolutePath());
}
}else{
//7、如果当前一级文件对象是文件夹,则继续递归调用
searchFile(file, fileName);
}
}
}
}
IO流
I指Input,称为输入流:负责把数据读到内存中去
O指Output,称为输出流:负责写数据出去
- 按照流的方向:输入流、输出流
- 按照流的内容:字节流、子符流
- 字节流:适合操作所有类型的文件
- 字符流:只适合操作纯文本文件