Java/File讲解

在Java的java.io包中,File类代表了文件和目录路径名的抽象表示。它提供了一些用于操作文件和目录的方法,如创建目录、创建文件、删除文件、判断文件是否存在、重命名等。

  1. File类可以表示文件或目录,也就是说,文件和 目录是可以通过File封装为对象
  2. 通过File对象可以获取某一个文件或目录的信息,包括对文件或目录进行删除、重命名等操作。
  3. 如果File对象表示的文件或目录不存在,可以通过具体操作创建这个文件或目录。
//创建方式一:public File(String pathname)
File file1 = new File("D:\\Review\\Emma.txt");

//创建方式二: public File(String parent,String child)
File file2 = new File("D:\\Review", "\\Emma.txt");

//创建方式三:public File(File parent,String child)
new File(new File("D:\\Review"),"\\Emma.txt");

System.out.println(file1);//D:\Review\Emma.txt
System.out.println(file2);//D:\Review\Emma.txt

小贴士:当使用 System.out.println 或其他输出方法打印一个 File 类的对象时,会自动调用其 toString 方法来获取可打印的字符串表示形式并输出到控制台。

在 Java 中,所有类都继承自 Object 类,而 Object 类中有一个 toString 方法,它返回表示对象的字符串表示形式。由于 File 类是 Object 类的子类,它继承了 toString 方法。然而,File 类重写了 toString 方法,以提供更有意义的字符串表示形式,以便于输出文件路径或其他相关信息。

因此,当你将 File 对象传递给输出方法时,会自动调用 File 类的 toString 方法,以获取文件路径的字符串表示形式,并将其输出到控制台。

下面是File类中提供的获取文件或目录属性信息的方法:

long length()
-- 返回当前File对象所表示文件的长度,单位是字节(如果File是目录,则返回0)
boolean exists()
-- 判断当前文件或目录是否存在,存在则返回true
boolean isFile()
-- 判断当前File对象表示的是否为文件,若是文件则返回true,否则返回false
boolean isDirectory()
-- 判断当前File对象表示的是否为目录,若是目录则返回true,否则返回false
String getName()
-- 返回当前File对象所表示文件或目录的名字
String getParent()
-- 返回当前File对象所表示文件或目录的父目录的路径
String getAbsolutePath()
-- 获取当前File对象所表示文件或目录的绝对路径

System.out.println(file1.length());//19
System.out.println(file1.exists());//true
System.out.println(file1.isFile());//true
System.out.println(file1.isDirectory());//false
System.out.println(file1.getName());//Emma.txt
System.out.println(file1.getParent());//D:\Review
System.out.println(file1.getAbsolutePath());//D:\Review\Emma.txt

下面是File类中提供的创建以及删除文件或目录的方法:

boolean createNewFile()
-- 若当前File对象表示的文件不存在,可以调用此方法创建一个空文件。
-- 若创建成功则返回true,否则就返回false


boolean mkdir()
-- 若当前File对象表示的目录不存在,可以调用此方法创建一个空目录。
-- 若创建成功则返回true,否则就返回false
-- 该方法只能创建单层目录,如果当前目录的父目录也不存在,创建会失败


boolean mkdirs()
-- 若当前File对象表示的目录不存在,可以调用此方法创建一个空目录。
-- 若创建成功则返回true,否则就返回false
-- 该方法可以创建多层目录,如果当前目录的父目录也不存在,会连接父目录一起创建


boolean delete()
-- 删除当前File对象表示的文件或目录,如果表示的是目录,则该目录必须是空目录才能删除
-- 若删除成功则返回true,否则返回false


boolean renameTo( File newFile )
-- 将当前File对象表示的文件或目录的名字改为 newFile 中的名字

列表功能:

String[] list()
-- 若File对象表示的是一个目录,该方法可返回当前目录下所有的文件和目录的名称
-- 返回的名称都组织在一个字符串数组(String[])中)


File[] listFiles()
-- 若File对象表示的是一个目录,该方法可返回当前目录下所有的文件和目录对应的File对象
-- 返回的File对象都组织在一个File对象数组中。

f = new File("D:\\Teach");
        String[]list = f.list();
        System.out.println(Arrays.toString(list));//[1.txt.txt, 123.txt.txt, 2.txt.txt, m]

        File[] ff = f.listFiles();
        System.out.println(Arrays.toString(ff));//[D:\Teach\1.txt.txt, D:\Teach\123.txt.txt, D:\Teach\2.txt.txt, D:\Teach\m]

你可能感兴趣的:(java,jvm,servlet)