创建File对象的方法

// 1、创建File对象,去获取某个文件的信息
File f1 = new File("E:\\Pictures\\dog.jpeg");//为什么是两条杠,因为\n是换行符,但是n有可能是路径的一部分。所以矛盾,故用\\来代表“进入”
// 2、可以使用相对路径定位文件对象
// 绝对路径:只要带盘符的都是绝对路径 E:\Pictures\dog.jpeg
// 相对路径:不带盘符。默认是到你的idea工程下直接寻找文件的,一般用来找工程下的项目文件
// File f2 = new File("D:\\code\\javaseprojectaimax\\day03-file-io\\src\\dlei01.txt"); 绝对路径
File f2 = new File("day03-file-io\\src\\dlei01.txt");
File提供的判断文件类型,获取文件信息的方法

System.out.println(f1.length());//字节个数
System.out.println(f1.getName());//获取文件名
System.out.println(f1.isFile()); //判断是否是文件
System.out.println(f1.isDirectory());//判断是否是文件夹
File提供的创建和删除文件/文件夹的方法

//3、创建对象代表不存在的文件路径
File f3 = new File("E:\\Pictures\\aaa.txt");
System.out.println(f3.exists()); //判断是否存在
System.out.println(f3.createNewFile()); //创建文件,返回创建是否成功
//4、创建对象代表不存在的文件夹路径
File f4 = new File("E:\\Pictures\\bbb");
System.out.println(f4.mkdir());// mkdir只能创建一级文件夹,返回创建是否成功
// 创建多级文件夹
File f5 = new File("E:\\Pictures\\ccc\\ddd\\eee");
System.out.println(f5.mkdirs()); // mkdirs可以创建多级文件夹,返回创建是否成功
// 5、创建File对象代表存在的文件,然后删除它
File f6 = new File("E:\\Pictures\\aaa.txt");
System.out.println(f6.delete());//delete方法只能删除文件和空文件夹
// 6、创建File对象代表存在的文件夹,然后删除它
File f7 = new File("E:\\Pictures\\bbb");
System.out.println(f7.delete()); //只能删除空文件夹
File f8 = new File("E:\\Pictures\\ccc");
System.out.println(f8.delete());
File提供的遍历文件夹的方法

// 8、可以获取某个目录下的全部一级文件名称,无法获取不是一级的文件
File f9 = new File("E:\\Pictures");
String[] names = f9.list(); //list方法获取目录下“所有一级文件名称”到一个字符串数组中返回
for (String name : names) {
System.out.println(name);
}
// 9、可以获取某个目录下的全部一级文件对象
File[] files = f9.listFiles();
for (File file : files) {
System.out.println(file.getAbsoluteFile());//获取绝对路径
}
使用listFiles方法的注意事项

package com.itheima.demo1file;
import java.io.File;
import java.util.Arrays;
public class FileDemo2 {
public static void main(String[] args) {
//目标: 掌握listFiles方法的注意事项
/*
*使用listFiles方法时的注意事项:
*1、当主调是文件,或者路径不存在时,返回null
*2、当主调是空文件夹时,返回一个长度为0的数组
*3、当主调是一个有内容的文件夹时,将里面所有一级文件和文件夹的路径放在File数组中返回
*4、当主调是一个文件夹,且里面有隐藏文件时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件
*5、当主调是一个文件夹,但是没有权限访问该文件夹时,返回null
*/
File f1 = new File("E:\\Pictures\\01a.txt");
//listFiles方法正常情况下,可以获取某个目录下的全部一级文件对象,返回File类型数组
System.out.println(f1.listFiles());//当主调是文件,或者路径不存在时,返回null
File f2 = new File("E:\\Pictures\\ccc");
File[] files = f2.listFiles();
System.out.println(Arrays.toString(files));//当主调是空文件夹时,返回一个长度为0的数组:[]
File f3 = new File("E:\\Pictures\\bbb");
File[] files1 = f3.listFiles();
System.out.println(Arrays.toString(files1)); //[E:\Pictures\bbb\hah.txt, E:\Pictures\bbb\jjj.txt]
}
}