作用: 关联磁盘中文件或者文件夹
构造:
File(String path);
路径:
绝对路径: 带盘符的路径, "盘符:/"
相对路径: 不带盘符的路径, 相对于当前项目的根路径来关联
File(File parent, String child);
File(String parent, String child);
public static void main(String[] args) {
// 创建File对象,绝对路径
File f1 = new File("d:/");
// 创建File对象,相对路径,相对于当前项目的根路径
File f2 = new File("a.txt");
//已知父路径的String形式
String path = "d:/";
File f3 = new File(path, "a.txt");
//已知父路径的File形式
File f4 = new File("e:/");
File f5 = new File(f4, "a.txt");
}
//文件路径 File f1 = new File("D:/"); //判断当前文件路径是否存在 System.out.println(f1.exists()); //判断当前文件对象是非是文件 System.out.println(f1.isFile()); //判断当前文件对象是非是文件夹 System.out.println(f1.isDirectory()); //获取文件名称 System.out.println(f1.getName()); //获取文件大小 System.out.println(f1.length()); //获取文件最后修改时间 long l = f1.lastModified(); System.out.println(l); //获取文件路径 System.out.println(f1.getPath()); //获取文件绝对路径 System.out.println(f1.getAbsolutePath());
列出文件夹下所有的一级子文件或者子文件夹
(1) 只能列出一级下面的子文件和子文件夹
(2) 该方法只能是文件夹才能使用, 文件不能使用,如果非要使用会得到null的数组
(3) 如果文件夹中是空的, 得到一个长度为0的数组但是不会出现NullPointerException
(4) 有权限的文件夹不能使用, 非要使用会得到null的数组
public static void main(String[] args) {
File f = new File("d:/");
System.out.println(f.isDirectory());
// 获取d盘下的所有文件,只能获取一层,不能获取子目录下的文件
File[] files = f.listFiles();
for (File file : files) {
System.out.println(file);
}
}
createNewFile
(1) 文件存在则会创建失败
(2) 只能创建文件不能创建文件夹,所以我们必须保证文件所在的文件夹是存在的才能创建
public static void main(String[] args) throws IOException {
//先造文件夹, 然后在造文件
File f1 = new File("day006/a/a");
//mkdir只能创建一级文件夹
//f1.mkdir();
f1.mkdirs();
File f = new File(f1, "a.txt");
System.out.println(f.exists());
boolean newFile = f.createNewFile();
System.out.println(newFile);
//delete() (1)只能删除文件或者空文件夹 (2)删除不走回收站
//File f2 = new File("day006/a.txt");
//f2.delete();
}