File对象:表示一个文件或文件夹的路径,这个路径可以不存在。

public File(String pathname)               根据文件路径创建文件对象
public File(String parent, String child)   根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent, String child)     根据父路径对应文件对象和子路径名字符串创建文件对象

创建File对象方法如下,运行后系统显示文件路径:

方法一:

import java.io.File;
public class Main{
    public static void main(String[] args) {
    /*public File(String pathname)               根据文件路径创建文件对象
      public File(String parent, String child)   根据父路径名字符串和子路径名字符串创建文件对象
      public File(File parent, String child)     根据父路径对应文件对象和子路径名字符串创建文件对象
     */

        //1.根据字符串表示的路径变成File对象
        String str = "C:\\Users\\DELL\\Desktop\\1.txt";
        File f1 = new File(str);
        System.out.println(f1);
    }
}

方法二: 

//2.父级路径:"C:\Users\DELL\Desktop"
        //  子级路径:"1.txt"
        String parent = "C:\\Users\\DELL\\Desktop";
        String child = "1.txt";
        File f2 = new File(parent,child);
        System.out.println(f2);

方法三:

//3.父级路径:"C:\Users\DELL\Desktop"
        //  子级路径:"1.txt"
        String parent = "C:\\Users\\DELL\\Desktop";
        File f1 = new File(parent);
        String child = "1.txt";
        File f2 = new File(f1,child);
        System.out.println(f2);

File常见成员方法:

①判断/获取的方法

方法名称

说明

boolean isDirectory()

判断此路径名表示的File是否为文件夹

boolean isFile()

判断此路径名表示的File是否为文件

boolean exists()

判断此路径名表示的File是否存在

long length()

获取文件的大小(字节数量)

String getAbsolutePath()

返回文件的绝对路径

String getPath()

返回定义文件时使用的路径

String getName()

返回文件的名称,带后缀

long lastModified()

返回文件的最后修改时间(时间毫秒值)

用法:

import java.io.File;
public class Main{
    public static void main(String[] args) {
        //对一个文件进行判断:
        File f1 = new File("C:\\Users\\DELL\\Desktop\\1.txt");
        System.out.println(f1.isDirectory());//判断f1是否为文件夹
        System.out.println(f1.isFile());//判断f1是否为文件
        System.out.println(f1.exists());//判断f1是否存在
        System.out.println(f1.length());//获取文件的大小
        System.out.println(f1.getAbsolutePath());//返回文件的绝对路径
        System.out.println(f1.getName());//返回文件的名称,带后缀
    }
}

运行结果:

false
true
true
776
C:\Users\DELL\Desktop\1.txt
1.txt

进程已结束,退出代码0

②创建/删除的方法

方法名称

说明

boolean createNewFile()

创建一个新的文件

boolean  mkdir()

创建单级文件

boolean mkdirs()

创建多级文件

boolean delete()

删除文件、空文件夹(不走回收站)

用法:

import java.io.File;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException {
        //对一个文件进行判断:
        File f1 = new File("C:\\Users\\DELL\\Desktop\\1.txt"); //桌面上本来没有1.txt文件的
        boolean b = f1.createNewFile(); //b返回是否成功创建文件,可能会出现异常,故提前抛出
        boolean c = f1.mkdir(); //只能创建单极文件夹

        File f2 = new File("C:\\Users\\DELL\\Desktop\\aaa\\bbb\\ccc"); //桌面上本来没有1.txt文件的
        boolean c = f2.mkdirs(); //能创建嵌套的多极文件夹,也可以创建单级文件夹

        boolean e = f2.delete(); //删除f2文件
    }
}

②获取/遍历的方法

方法名称

说明

public File[ ] listFiles()

获取当前该路径下所有内容

用法:

import java.io.File;
import java.io.IOException;

public class Main{
    public static void main(String[] args) {
        File f1 = new File("C:\\Users\\DELL\\Desktop\\a文件");
        //listFiles方法:获取a文件里的所有内容,把所有内容放入数组中返回
        File[] files = f1.listFiles();
        for(File file : files){
            //file依次表示a文件夹里面的每一个文件或文件夹
            System.out.println(file);
        }
    }
}

运行结果:

C:\Users\DELL\Desktop\a文件\新建文件夹
C:\Users\DELL\Desktop\a文件\新建文本文档 (2).txt
C:\Users\DELL\Desktop\a文件\新建文本文档.txt

java 内存中创建文件并写入数据 java在内存中创建file对象_Desktop

 此外,还有listRoots() , list() ,listFiles(FileFilter filter)...等方法,不做重点掌握。