File file = new File("文件路径"); //根据路径得到一个File对象
File file = new File("父路径", "子路径"); //根据父路径和子路径得到一个File对象
File file = new File(new File(), "子路径" ); //和第二个构造方法的区别在于,将父路径变成了File对象,可以使用File类的方法,更加灵活
二、File类创建文件或者文件夹
//创建文件 -> 如果文件不存在则会创建,返回值result为true;文件已经存在,返回值为false
File file = new File("test.json");
boolean result = file.createNewFile();
//创建文件夹 -> 如果文件夹不存在则会创建,返回值result为true;文件夹已经存在,返回值为false
File file = new File("test");
boolean result = file.mkdir();
//创建多级文件夹 -> 如果文件夹不存在则会创建,返回值result为true;文件夹已经存在,返回值为false
File file = new File("test1/test2/test3");
boolean result = file.mkdirs();
三、File类重命名或者删除文件
//重命名文件或者文件夹 如果路径相同,则是改名,如果路径不同,则是改名并剪切
File file = new File("test.json"); //这是可以是文件也可以是文件夹
boolean result = file.renameTo(new File("test.json2"));
//删除文件或者文件夹 如果删除文件夹,则文件夹必须是空的,否则无法删除。因此必须遍历删除不为空的文件夹
File file = new File("test.json"); //这是可以是文件也可以是文件夹
boolean result = file.delete();
四、File类判断功能
public boolean isFile() -> 是否是文件
public boolean isDirectory() -> 是否是文件夹(目录)
public boolean exists() -> 是否存在
public boolean canRead() -> 是否可读
public boolean canWrite() -> 是否可写
public boolean isHidden() -> 是否隐藏
五、File类获取相关功能
public String getPath() ->获取路径,指的是构造方法里面传入的路径
public String getAbsolutePath() ->获取绝对路径
public String getName() ->获取名字,获取的是文件或者文件夹的名字,例如:a.txt
public long length() ->获取文件的长度,字节数 byte 如果传入的是文件夹,会返回0
public long lastModified() ->获取最后一次修改的时间,返回值:毫秒数
public String[] list() ->获取指定文件夹下的所有文件和文件夹的名称数组,这里获取的是文件名字符串数组
public File[] listFiles() ->获取指定文件夹下的所有文件和文件夹的File数组,这里获取的是文件对象数组
六、File类过滤器
new File().list(FilenameFilter filter) {
@Override
public boolean accept(File dir, String name) {
//doSomething
return true;
}
});