1.概念
File是java.io.包下的类, File类的对象,用于代表当前操作系统的文件(可以是文件、或文件夹)
2.创建对象
绝对路径:从盘符开始
相对路径:不带盘符,默认直接到当前项目下的目录寻找文件
3.File的常见成员方法
(1)获取文件信息的方法
/* public long length() 返回文件的大小 public String getAbsolutePath() 返回文件的绝对路径 public String getPath() 返回定义文件时使用的路径 public String getName() 返回文件的名称、带后缀
(2)判断文件信息的方法
/*public boolean isDirectory() 判断此路径名表示File是否为文件夹 public boolean isFile() 判断此路径是否为文件 public boolean exists() 判断此路径名表示的File是否存在*/
public long lastModified() 返回文件的最后修改时间*/
(3)创建、删除文件的方法
/*public boolean creatNewFile() 创建一个新的空的文件夹 public boolean mkdir() 创建单级文件夹 public boolean mkdirs() 创建多级文件夹 public boolean delete() 删除文件、空文件夹*/
(4)获取并遍历
// public File[] listFiles() 获取当前该路径下所有内容 /* 细节: 当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回*/
练习:
1.在当前的模块下创建一个a.txt文件
public class demo03 {
public static void main(String[] args) throws IOException {
//需求:在当前模块下的aaa文件中创建一个a.txt文件
//1.创建a.txt的父级路径
File file=new File("C:\\Users\\Administrator\\IdeaProjects\\day01\\aaa");
//2.创建父级路径
file.mkdir();
//3.拼接父级路径和子级路径
File scr=new File(file,"a.txt");
if(scr.createNewFile()){
System.out.println("success!");
}
else{
System.out.println("fail!");
}
}
}
运行后结果如下:
2.定义一个方法找某一个文件中,是否有以avi结尾的电影
public class demo02 {
public static void main(String[] args) {
/*需求:
定义一个方法找某一个文件夹中,是否有以avi结尾的电影
*/
File file=new File("C:\\Users\\Administrator\\IdeaProjects\\day01\\aaa");
boolean b = haveAVI(file);
System.out.println(b);
}
public static boolean haveAVI(File file){
//1.进入aaa文件夹,而且要获取里面所有的内容
File[] files=file.listFiles();
//2.遍历数组获取里面每一个文件或者文件夹的路径
for(File f:files){
//f:依次表示aaa文件夹里面每一个文件或者文件夹的路径,获取文件名和后缀名
if(f.isFile()&&f.getName().endsWith(".avi")){
return true;
}
}
return false;
}
}