在哪家公司建设网站好,龙华网站制作,慕课网电子商务网站开发,营销型网站教程File类
概述#xff1a;文件和目录路径名的抽象表示#xff0c;File 对象就代表一个路径 对与File而言#xff0c;其封装的并不是一个真正存在的文件#xff0c;仅仅是一个路径名而已。它可以是存在的#xff0c;也可以是不存在的。将来要通过具体的操作把这个路径的内容…File类
概述文件和目录路径名的抽象表示File 对象就代表一个路径 对与File而言其封装的并不是一个真正存在的文件仅仅是一个路径名而已。它可以是存在的也可以是不存在的。将来要通过具体的操作把这个路径的内容转换为具体存在的。
常用方法 构造方法 方法作用File(String pathname)通过给定路径名-字符串转换为抽象路径名来创建新的File实例File(String parent , String child)从父路径名字符串和子路径名字符串创建新的File实例File(File parent , String child)从父抽象路径名和子路径名字符串创建新的File实例public class Test{public static void main(String[] args){// 1、通过给定路径名-字符串转换为抽象路径名来创建新的File实例File f1 new File(D:\\a.txt);File f2 new File(D:\\music);// 2、从父路径名字符串和子路径名字符串创建新的File实例File f3 new File(D:\\a,b.txt);// 3、从父抽象路径名和子路径名字符串创建新的File实例File f4 new File(f2 , c.mp4);}
}创建方法 方法作用public boolean createNewFile()当具有该名称的文件不存在时创建一个由该抽象路径名命名的新空文件文件存在返回true。不存在返回 falsepublic boolean mkdir()创建由此抽象路径名命名的目录(文件夹)public boolean mkdirs()创建由此抽象路径名命名的目录包括任何必需但不存在的父目录创建多级目录 注意 ①创建文件的时候要确保上级目录存在才可以创建成功 public class Test{public static void main(String[] args) throws IOException {// 1、创建一个文件对象其实就是创建 一个路径的 对象File f1 new File(D:\\a.txt); // 文件对象File f2 new File(D:\\b); // 单级文件夹对象File f3 new File(D:\\c\\d); // 多级文件夹对象// 2、创建文件就是在磁盘中创建这个路径的文件或者文件夹boolean a f1.createNewFile();boolean b f2.mkdir();boolean c f3.mkdirs();System.out.println(a b c);}
}删除方法 方法作用public boolean delete()删除由此抽象路径名表示的文件或目录 注意删除文件的时候要确保文件夹里没有文件才可以删除文件夹成功 public class Test2 {public static void main(String[] args) {// 1、创建文件对象File f1 new File(D:\\a.txt); // 文件对象File f2 new File(D:\\c); // 单级文件夹对象// 2、删除文件从磁盘中删除boolean a f1.delete();boolean b f2.delete();System.out.println(a b);}
}运行结果true false 并且 D盘下 的 a.txt 已经删除(直接从电脑删除不放入回收站)但是第二个是 false 是因为我们代码上方的注意事项c 文件夹下还有 d 文件夹所以删除失败 判断和获取方法 方法作用public boolean isDirectory()判断此抽象路径名表示的File是否为目录public boolean isFile()判断此抽象路径名表示的File是否为文件public boolean exists()判断此抽象路径名表示的File是否存在public String getAbsolutePath()返回此抽象路径名的绝对路径名字符串public String getPath()将此抽象路径名转换为路径名字符串public String getName()返回此抽象路径名表示的文件或目录的名称public String[] list()返回此抽象路径名表示的目录中的文件和目录的名称字符串数组public File[] listFiles()返回此抽象路径名表示的目录中的文件和目录的File对象数组public class Test {public static void main(String[] args) {// 1、创建一个文件对象其实就是创建 一个路径的 对象File f1 new File(D:\\a.txt); // 文件对象File f2 new File(D:\\b); // 单级文件夹对象File f3 new File(D:\\c\\d); // 多级文件夹对象File f4 new File(D:\\c);// 2、判断此抽象路径名表示的File是否为文件和目录(文件夹)boolean a f1.isFile();boolean b f2.isDirectory();// 3、判断此抽象路径名表示的File是否存在boolean c f1.exists();// 4、返回此抽象路径名的绝对路径名字符串String f3Path f3.getAbsolutePath();// 5、将此抽象路径名转换为路径名字符串String path f3.getPath();// 6、返回此抽象路径名表示的文件或目录的名称String name f1.getName();System.out.println(a b c);System.out.println(f3Path);System.out.println(path);System.out.println(name);// 7、返回此抽象路径名表示的目录中的文件和目录的名称字符串数组String[] list f4.list();for (String s : list) {System.out.println(s);}// 8、返回此抽象路径名表示的目录中的文件和目录的File对象数组File[] files f4.listFiles();for (File file : files) {System.out.println(file);}}
}运行结果 false true false D:\c\d D:\c\d a.txt d D:\c\d 绝对路径和相对路径
绝对路径完整的路径名不需要任何其他信息就可以定位它所表示的文件相对路径必须使用取自其他路径名的信息进行解释必须要有个参考物 案例 需求在D盘下创建一个四级目录以 a b c d 字母顺序创建并且在 d 目录下 创建文件 e.mp4 和 f.txt(创建文件时需要先去判断此文件是否存在)。最后遍历输出 a 文件夹下所有 文件的名字。并且遍历时删除后缀为 .txt 的文件? 思路分析 首先需要创建四个 文件对象创建 两个文件其次遍历 a 文件夹并输出所有文件的名字最后在遍历的时候判断后缀是否为 .txt 是的话执行删除 public class Test {// 创建文件对象方法public static void createFile(File f){// 首先判断文件是否存在if(!f.exists()){// 不存在创建文件try {f.createNewFile();} catch (IOException e) {e.printStackTrace();}}}// 遍历文件并删除后缀是 .txt 的文件public static void showAndDel(File f){// 判断是文件还是文件夹if(f.isDirectory()){File[] files f.listFiles(); // 获取当前文件对象下的所有文件对象for (File file : files) { // 遍历输出名字并继续递归向下System.out.println(file.getName());showAndDel(file);}}else{if(f.getName().endsWith(.txt)){ // 判断后缀是否是 .txt 是执行删除f.delete();}}}public static void main(String[] args) {// 1、创建 4 个对象File f1 new File(D:\\a\\b\\c\\d);File f2 new File(D:\\a);File f3 new File(f1 , e.mp4);File f4 new File(f1 , f.txt);// 2、磁盘创建 文件和文件夹f1.mkdirs();createFile(f3);createFile(f4);// 3、遍历删除showAndDel(f2);}
}