File类

mac2024-06-02  58

文章目录

File类的静态成员变量File类的构造方法:java.io.File类获取功能的方法File类的判断功能的方法File类的创建删除功能的方法File类遍历(文件夹)目录功能

File类的静态成员变量

static String pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 static char pathSeparatorChar 与系统相关的路径分隔符。 static String separator 与系统相关的默认名称 -分隔符字符,以方便的方式表示为字符串。 static char separatorChar 与系统相关的默认名称分隔符。

String pathSeparator = File.pathSeparator; System.out.println(pathSeparator);//路径分隔符字符 windows系统是分号; linux系统是冒号: String separator = File.separator; System.out.println(separator);//与系统相关的默认名称 -分隔符字符 windows: \ linux: /

【注意】路径中的文件名称分隔符windows使用的是反斜杠,java中反斜杠是转义字符,两个反斜杠代表一个普通的斜杆

File类的构造方法:

File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。   好处:把路径分成了两部分,父路径和子路径,可以单独书写,使用起来灵活,父路径和子路径都可以变化     父路径是File类型,可以使用File类型的方法对路径进行一些操作File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。   好处:把路径分成了两部分,父路径和子路径,可以单独书写,使用起来灵活,父路径和子路径都可以变化File(URI uri) 通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。 //File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 private static void demo01() { File file = new File("c:\\Hello.java"); System.out.println(file); } //File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。 private static void demo02(){ File file = new File("c:\\","a.txt"); System.out.println(file); } //File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。 private static void demo03(){ File file = new File("C:\\java"); File file1 = new File(file,"jdk"); System.out.println(file1); }

java.io.File类获取功能的方法

String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。 private static void demo01(){ File file = new File("D:\\JDK API\\jdk api 1.8_google"); String absolutePath = file.getAbsolutePath(); System.out.println(absolutePath); File file1 = new File("jdk api 1.8_google"); String absolutePath1 = file1.getAbsolutePath(); System.out.println(absolutePath1);//D:\IdeaProjects\TWO\jdk api 1.8_google //如果这个抽象路径名已经是绝对的,那么路径名字符串就像getPath()方法一样简单地返回。 // 如果此抽象路径名为空抽象路径名,则返回由系统属性user.dir命名的当前用户目录的路径名字符串。 // 否则,该路径名以系统相关的方式解决。 } String getPath() 将此抽象路径名转换为路径名字符串。 /* toString()调用的就是getPath方法 源码:public String toString() { return getPath(); } */ private static void demo02(){ File f1 = new File("D:\\JDK API\\jdk api 1.8_google"); String path1 = f1.getPath(); System.out.println(path1); File f2 = new File("jdk api 1.8_google"); String path2 = f2.getPath(); System.out.println(path2); System.out.println(f2.toString()); } String getName() 返回由此抽象路径名表示的文件或目录的名称。 获取的是构造方法传递l路径的结尾部分(文件/目录) private static void demo03(){ File file = new File("D:\\JDK API\\jdk api 1.8_google"); String name = file.getName(); System.out.println(name); File file2 = new File("D:\\JDK API"); String name1 = file2.getName(); System.out.println(name1); } long length() 返回由此抽象路径名表示的文件的长度。 获取的是构造方法指定的文件的大小,以字节为单位 注意:文件夹没有大小的说法,不能获取文件夹的大小 如果构造方法中给出的路径不存在或者不包含文件,则返回0 private static void demo04(){ File f1 = new File("D:\\JDK API\\jdk api 1.8_google\\jdk api 1.8_google.CHM"); System.out.println(f1.length());//42871382字节 }

File类的判断功能的方法

boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 private static void method() { File f1 = new File("D:\\JDK API\\jdk api 1.8_google"); System.out.println(f1.exists()); File f2 = new File("jdk api 1.8_google");//相对路劲 System.out.println(f2.exists()); File f3 = new File("a.txt"); System.out.println(f3.getAbsolutePath());//获取绝对路径 } boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。 //两个方法使用前提:路径必须是存在的,否则都返回false private static void method1(){ File f1 = new File("D:\\JDK API\\jdk api 1.8_google");//文件夹路径 //先判断路径是否存在 if(f1.exists()){ System.out.println(f1.isDirectory()); System.out.println(f1.isFile()); }else{ System.out.println("路径不存在"); } File f2 = new File("D:\\JDK API\\jdk api 1.8_googledd"); System.out.println(f2.isDirectory()); System.out.println(f2.isFile()); }

File类的创建删除功能的方法

boolean mkdir() 创建由此抽象路径名命名的目录。//只能创建一个文件夹  如果构造方法中给出的路径不存在,则返回falseboolean mkdirs() 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。//可以创建多级文件夹  如果构造方法中给出的路径不存在,则创建该多级文件夹 private static void method2(){ File f1 = new File("day08\\111"); System.out.println(f1.mkdir()); File f2 = new File("day09\\11");//构造方法中提供的路径不存在, System.out.println(f2.mkdirs());//false File f3 = new File("day08\\11\\22\\33\\44"); System.out.println(f3.mkdirs()); File f4 = new File("D:\\111\\222"); System.out.println(f4.mkdirs()); } boolean createNewFile() 当且仅当具有该名称的文件尚不存在时,原子地创建一个由该抽象路径名命名的新的空文件 //创建文件的路径必须存在,否则会报错 //因为createNewFile方法会抛出异常,所以需要处理异常(throws继续抛出) private static void method1() throws IOException { File f1 = new File("a.txt"); System.out.println(f1.getAbsolutePath()); System.out.println(f1.createNewFile()); File f2 = new File("D:\\IdeaProjects\\TWww\\a.txtt");//路径不存在,报错IOException System.out.println(f2.createNewFile()); } boolean delete() 删除由此抽象路径名表示的文件或目录。 注意:1.如果文件夹中有内容,不会删除,返回false;构造方法给出的路径不存在,返回false    2.delete方法是直接从硬盘删除文件/文件夹,不走回收站    3.只能一层一层删除 private static void method3(){ File f1 = new File("day08\\111"); System.out.println(f1.delete()); File f2 = new File("day08\\11\\22\\33\\44"); System.out.println(f2.delete()); File f3 = new File("day08\\11\\22\\33"); System.out.println(f3.delete()); }

File类遍历(文件夹)目录功能

String[] list()返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 注意:1. List和listFiles遍历的是构造方法给出的目录     2. 如果构造方法中给出的路径不存在,会抛出空指针异常    3.如果构造方法中给出的路径不是一个目录,也会抛出空指针异常 //String[] list()返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。 //遍历构造方法中给出的目录,获取的目录中所有文件/文件夹的名称,把这些名称存储到String类型的数组中 private static void method(){ File file = new File("D:\\IdeaProjects\\TWO"); String[] list = file.list(); for(String filenames: list){ System.out.println(filenames); } } // File[] listFiles() 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。 //遍历构造方法给出的目录,获取目录中所有文件夹/文件,并把文件夹/文件封装成File类的对象,把这些file对象存储到file类型的数组中 private static void method1(){ File file = new File("D:\\IdeaProjects\\TWO"); File[] list = file.listFiles(); for(File f: list){ System.out.println(f); } }
最新回复(0)