File的概述-->
File常见的构造方法-->
代码示范--->
/*public File(String pathname) 根据文件路径创建文件对象根据字符串表示的路径,创建File对象*/String str = "E:\\java_code\\a.txt";File f1 = new File(str);System.out.println(f1);//结果:E:\java_code\a.txt//public File(String parent, String child) 根据父路径名字符串和子路径名字符串创建文件 对象String parent = "E:\\java_code";String child = "a.txt";File f2 = new File(parent, child);System.out.println(f2);//结果:E:\java_code\a.txt//public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象File f3 = new File("E:\\java_code");String child2 = "a.txt";File f4 = new File(f3, child2);System.out.println(f4);//结果:E:\java_code\a.txt
小结--->
File的成员方法-->
File的常见成员方法(判断、获取)--->
代码示范--->
先创建文件及文件夹准备-->
判断--->
//1.对一个文件的路径进行判断File f1 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f1.isDirectory());//结果:falseSystem.out.println(f1.isFile());//结果:trueSystem.out.println(f1.exists());//结果:trueSystem.out.println("----------------------------");//2.对一个文件夹的路径进行判断File f2 = new File("E:\\Data\\aaa\\bbb");System.out.println(f2.isDirectory());//结果:trueSystem.out.println(f2.isFile());//结果:falseSystem.out.println(f2.exists());//结果:trueSystem.out.println("----------------------------");//3.对一个不存在的路径进行判断File f3 = new File("E:\\Data\\aaa\\c.txt");System.out.println(f3.isDirectory());//结果:falseSystem.out.println(f3.isFile());//结果:falseSystem.out.println(f3.exists());//结果:false
获取--->
/*1.length 返回文件的大小(字节数量)细节:只能获取文件的大小,如果单位要M、G,可以不断的除以1024细节:这个方法无法获取文件夹的大小,如果要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起*/File f1 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f1.length());//结果:22File f2 = new File("E:\\Data\\aaa\\bbb");System.out.println(f2.length());//结果:0//2.getAbsolutePath 返回文件的绝对路径File f3 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f3.getAbsolutePath());//结果:E:\Data\aaa\a.txtFile f4 = new File("myFile\\a.txt");System.out.println(f4.getAbsolutePath());//结果:E:\java_code\myFile\a.txt//3.getPath 返回定义文件时使用的路径File f5 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f5.getPath());//结果:E:\Data\aaa\a.txtFile f6 = new File("myFile\\a.txt");System.out.println(f6.getPath());//结果:myFile\a.txt/*4.getName 获取名字细节:调用者是文件:返回文件名+后缀名细节:调用者是文件夹:返回文件夹名*/File f7 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f7.getName());//结果:a.txtFile f8 = new File("E:\\aaa\\bbb");System.out.println(f8.getName());//结果:bbb//lastModified 返回文件的最后修改时间(时间毫秒值)File f9 = new File("E:\\Data\\aaa\\a.txt");System.out.println(f9.lastModified());//结果:1701698784865
File的常见成员方法(创建、删除)--->
代码示范--->
/*1.createNewFile 创建一个新的空的文件细节1:如果当前路径表示的文件是不存在的,则创建成功,方法返回ture如果d当前路径表示的文件是存在的,则创建失败,方法返回false细节2:如果父级路径是不存在的,那么方法会有异常IOException细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件*/File f1 = new File("E:\\Data\\aaa\\c.txt");boolean b1 = f1.createNewFile();System.out.println(b1);//结果:trueFile f2 = new File("E:\\Data\\aaa\\ddd");boolean b2 = f2.createNewFile();System.out.println(b2);//结果:true/*2.mkdir 创建单级文件夹细节1:windows当中路径是唯一的,如果路径已经存在,则创建失败,返回false细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹*/File f3 = new File("E:\\Data\\aaa\\ddd");boolean b3 = f3.mkdir();System.out.println(b3);//结果:falseFile f4 = new File("E:\\Data\\aaa\\eee");boolean b4 = f4.mkdir();System.out.println(b4);//结果:true/*3.mkdirs 创建多级文件夹细节:既可以创建单级的,又可以创建多级的文件夹*/File f5 = new File("E:\\Data\\aaa\\aaa\\bbb\\ccc");boolean b5 = f5.mkdirs();System.out.println(b5);//结果:trueFile f6 = new File("E:\\Data\\aaa\\ggg");boolean b6 = f6.mkdirs();System.out.println(b6);//结果:true/*4.delete 删除文件、空文件夹(不进入回收站)细节:如果删除的是文件,则直接删除,不走回收站如果删除的是空文件夹,则直接删除,不走回收站如果删除的是有内容的文件夹,则删除失败*/File f7 = new File("E:\\Data\\aaa\\a.txt");boolean b7 = f7.delete();System.out.println(b7);//结果:trueFile f8 = new File("E:\\Data\\aaa\\aaa");boolean b8 = f8.delete();System.out.println(b8);//结果:falseFile f9 = new File("E:\\Data\\aaa\\eee");boolean b9 = f9.delete();System.out.println(b9);//结果:true
File的常见成员方法(获取并遍历)--->
通常只会用到public File[] listFiles() 获取当前路径下所有内容
代码示范--->
/*public File[] listFiles() 获取当前路径下所有内容细节:当调用者File表示的路径不存在时,返回null当调用者File表示的路径是文件夹时,返回null当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组当调用者File表示的路径是一个有内容的文件夹时,将里面的所有文件和文件夹的路径放在File数组中返回当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面的所有文件和文件夹的路径放在File数组中返回,包含隐藏文件当调用者File表示的路径是一个需要权限才能访问的文件夹时,返回null*///1.创建File对象File f = new File("E:\\Data\\aaa");//listFiles方法File[] files = f.listFiles();for (File file : files) {//file依次表示aaa文件夹里面的每一个文件或者文件夹System.out.println(file);/*结果:E:\Data\aaa\a.aviE:\Data\aaa\aaaE:\Data\aaa\b.txtE:\Data\aaa\bbbE:\Data\aaa\c.txtE:\Data\aaa\cccE:\Data\aaa\dddE:\Data\aaa\fffE:\Data\aaa\ggg*/