在这里插入代码片
File:是文件和路径名的抽象表示
文件和目录可以通过File封装成对象
File(String pathname)
File(String parent,String child)
File(File parent,String child)
File f1 = new File("D:\\FileTest\\f1.txt");
System.out.println(f1);//D:\FileTest\f1.txt
File f2 = new File("D:\\FileTest","f1.txt");
System.out.println(f2);//D:\FileTest\f1.txt
File f3 = new File(new File("D:\\FileTest"),"f1.txt");
System.out.println(f3);//D:\FileTest\f1.txt
创建文件
public boolean createNewFile() 文件名称不存在时,创建新的文件(文件不存在,创建文件返回true;文件存在,返回false)
public boolean mkdir() 创建由此抽象命名的路径(文件不存在,创建文件返回true;文件存在,返回false,创建多级目录也是返回false)
public boolean mkdirs() 创建由此抽象命名的路径,包括任何必须但不存在的父目录(文件不存在,创建文件返回true;文件存在,返回false)
File f1 = new File("D:\\FileTest\\f1.txt");
System.out.println(f1);//D:\FileTest\f1.txt
System.out.println(f1.createNewFile());
File f2 = new File("D:\\FileTest\\Test");
System.out.println(f2.mkdir());
File f3 = new File("D:\\FileTest\\Test1\\Test");
System.out.println(f3.mkdirs());
判断和获取功能
boolean isDirectory() 测试此抽象路径名表示的文件是否为目录
boolean isFile() 测试此抽象路径名表示的文件是否为普通文件
boolean exists() 测试此抽象路径名表示的文件或目录是否存在
String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
String getPath() 将此抽象路径名转换为路径名字符串
String getName() 返回由此抽象路径名表示的文件或目录的名称
String[] list() 返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录
File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件 (返回的是绝对路径)
File f1 = new File("D:\\FileTest");
System.out.println(f1.isDirectory());//true
System.out.println(f1.isFile());//false
File f2 = new File("D:\\FileTest\\f1.txt");
System.out.println(f2.exists());//true
System.out.println(f1.exists());//true
System.out.println(f2.getAbsolutePath());//D:\FileTest\f1.txt
System.out.println(f2.getPath());//D:\FileTest\f1.txt
System.out.println(f2.getName());//f1.txt
File f3 = new File("D:\\");
String[] str = f3.list();
for(String s:str){
System.out.println(s);
}
System.out.println("**********************");
File[] files = f3.listFiles();
for(File f :files){
System.out.println(f);
}
删除功能
boolean delete() 删除由此抽象路径名表示的文件或目录。
遍历目录,查找目标文件
/**
*搜索目录下的全部文件,找到想要的文件
* @param dir 被搜索的源目录
* @param fileName 被搜索的文件名称
*/
public static void searchFile(File dir,String fileName){
//判断文件目录是否为空,是否是文件夹
if (dir != null && dir.isDirectory()){
//获取一级目录
File[] files = dir.listFiles();
//目录是否是空
if (files != null && files.length>0) {
//进行遍历
for (File file : files) {
//判断是否是文件夹,是的话继续遍历
if (file != null && file.isDirectory()) {
searchFile(file, fileName);
} else {
//是文件的话进行判断,是否是我们要查找的目标
if (file.getName().contains(fileName)) {
System.out.println(file.getAbsoluteFile());
}
}
}
}
}else{
System.out.println("您当前搜索的不是文件夹");
}
}