public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
创建文件的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件不存在,创建文件,返回true
false:文件存在,不会创建,返回false
注意:
1.此方法只能创建文件,不能创建文件夹
2.创建文件的路径必须存在,否则会抛出异常public boolean createNewFile() throws IOException
createNewFile声明抛出了IOException,我们调用这个方法,就必须的处理这个异常,要么throws,要么try catchprivate static void show01() throws IOException { File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\08_FileAndRecursion\\1.txt"); boolean b1 = f1.createNewFile(); System.out.println("b1:"+b1); File f2 = new File("08_FileAndRecursion\\2.txt"); System.out.println(f2.createNewFile()); File f3 = new File("08_FileAndRecursion\\新建文件夹"); System.out.println(f3.createNewFile());//不要被名称迷糊,要看类型 File f4 = new File("08_FileAndRecursi\\3.txt"); System.out.println(f4.createNewFile());//路径不存在,抛出IOException }
public boolean mkdir() :创建单级空文件夹
public boolean mkdirs() :既可以创建单级空文件夹,也可以创建多级文件夹
创建文件夹的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件夹不存在,创建文件夹,返回true
false:文件夹存在,不会创建,返回false;构造方法中给出的路径不存在返回false
注意:
1.此方法只能创建文件夹,不能创建文件private static void show02() { File f1 = new File("08_FileAndRecursion\\aaa"); boolean b1 = f1.mkdir(); System.out.println("b1:"+b1); File f2 = new File("08_FileAndRecursion\\111\\222\\333\\444"); boolean b2 = f2.mkdirs(); System.out.println("b2:"+b2); File f3 = new File("08_FileAndRecursion\\abc.txt"); boolean b3 = f3.mkdirs();//看类型,是一个文件 System.out.println("b3:"+b3); File f4 = new File("08_F\\ccc"); boolean b4 = f4.mkdirs();//不会抛出异常,路径不存在,不会创建 System.out.println("b4:"+b4); }
public boolean delete() :删除由此File表示的文件或目录。
此方法,可以删除构造方法路径中给出的文件/文件夹
返回值:布尔值
true:文件/文件夹删除成功,返回true
false:文件夹中有内容,不会删除返回false;构造方法中路径不存在false
注意:
delete方法是直接在硬盘删除文件/文件夹,不走回收站,删除要谨慎private static void show03() { File f1 = new File("08_FileAndRecursion\\新建文件夹"); boolean b1 = f1.delete(); System.out.println("b1:"+b1); File f2 = new File("08_FileAndRecursion\\abc.txt"); System.out.println(f2.delete()); }
File类遍历(文件夹)目录功能
- public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
- public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。注意:
list方法和listFiles方法遍历的是构造方法中给出的目录
如果构造方法中给出的目录的路径不存在,会抛出空指针异常
如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录
遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中private static void show01() { //File file = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\08_FileAndRecursion\\1.txt");//NullPointerException //File file = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\08_Fi");//NullPointerException File file = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\08_FileAndRecursion"); String[] arr = file.list(); for (String fileName : arr) { System.out.println(fileName); } }
private static void show02() { File file = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\08_FileAndRecursion"); File[] files = file.listFiles(); for (File f : files) { System.out.println(f); } }
public File[ ] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
遍历构造方法中给出的目录,会获取目录中所有的文件/文件夹,把文件/文件夹封装为File对象,多个File对象存储到File数组中