//1. 相对路径:不带有盘符号的路径 相对路径,在工程的根目录
File file = new File("a.txt");
//创建文件 返回值表示文件释放创建成功,如果文件已经存在则返回false
boolean b = file.createNewFile();
// 2. 绝对路径:带有盘符号的详细路径
File file1 = new File("E:/IdeaProjects20190921/20191029-File-类-下午/b.txt");
boolean newFile = file1.createNewFile();
File file = new File("E:\\abc"); //目录/文件夹 文件
//3. 创建单级目录,如果目录已经存在,则返回false
boolean b = file.mkdir();
System.out.println(b);
File file1 = new File("E:\\aaa\\bbb\\ccc");
//4. 创建单级或多级目录
boolean mkdir = file1.mkdirs();
System.out.println(mkdir);
//5. 删除文件或目录
File file = new File("b.txt");
//注意删除,不经过回收站,返回值代表是否删除成功
boolean b = file.delete();
File file1 = new File("E:\\abc");
//在删除目录时,只能删除空目录,非空目录直接删除不了
boolean b1 = file1.delete();
删除非空目录:
public class Test {
public static void main(String[] args) {
//需求:编写程序,删除 指定目录下的 所有文件与文件夹 (包含子文件夹)
File file = new File("E:\\jieya2");
delete(file);
}
private static void delete(File file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File file1 : files) {
delete(file1);
}
}
file.delete();//删除文件夹或文件,不能带else,否则删除不了文件夹;
}
}
//6. 当前目录的上两级目录创建文件
File file = new File("../../abc.txt");
file.createNewFile();
//7.renameTo()方法有两层作用
//重命名:当你传入的新文件和旧文件的路径保持一致,是重命名
//剪切:当你传入的新文件和旧文件的路径不一致,就会发生剪切现象
File file = new File("a.txt");
File file1 = new File("E:\\eee.txt");
//重名文件,返回值是否重命名成功
boolean b = file.renameTo(file1);
//8. 判断
File file = new File("E:\\aaa");
//判断是否是文件
boolean file1 = file.isFile();
//判断是否是目录
boolean directory = file.isDirectory();
File file2 = new File("C:\\Users\\Administrator\\Desktop\\a.txt");
//判断文件是否可读/可写/隐藏
boolean b = file2.canRead();
boolean b1 = file2.canWrite();
boolean hidden = file2.isHidden();
//判断文件是否存在
boolean exists = file2.exists();
//判断文件是否使用的是绝对路径
boolean absolute = file2.isAbsolute();
// boolean b2 = file2.canExecute(); 判断文件是否是可执行文件,在Linux下使用
//9. 有关于获取的方法
File file = new File("a.txt");
//获取文件名
String name = file.getName();
//获取文件的大小,单位是字节
long length = file.length();
//获取文件的相对路径
String path = file.getPath();
File file1 = new File("C:\\Users\\ShenMouMou\\Desktop\\异常的继承体系.png");
//获取文件的绝对路径,以String类型返回
String absolutePath = file1.getAbsolutePath();
//获取文件的绝对路径,以File类型返回,比较灵活
File absoluteFile = file1.getAbsoluteFile();
//10. 获取路径
File file1 = new File("C:\\Users\\Desktop\\异常的继承体系.png");
//获取文件的父路径,以String 类型返回
String parent = file1.getParent();
//获取文件的父路径,以File 类型返回,此方式灵活
File parentFile = file1.getParentFile();
//构造方法:父路径的file ,子文件名
File file = new File(parent, "bbb.txt");
file.createNewFile();
//11. 获取盘符总容量
File file = new File("F:\\");
//获取盘符总容量
long totalSpace = file.getTotalSpace();//单位是字节
System.out.println(totalSpace/1024/1024/1024.0+":GB");
//获取剩余空间
long freeSpace = file.getFreeSpace();
System.out.println(freeSpace / 1024 / 1024 / 1024.0 + ":GB");
//12. 获取文件的最后一次修改时间
File file1 = new File("C:\\Users\\ShenMouMou\\Desktop\\异常的继承体系.png");
//获取文件的最后一次修改时间
long time= file1.lastModified();//单位毫秒
System.out.println(time);
//转换成 年月日 时分秒 来看
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat.format(new Date(time));
System.out.println(format);
File file = new File("E:\\jieya\\img\\");
//13. 获取此目录下,所有的文件或文件夹 的File 对象数组
File[] files = file.listFiles();
for (File f : files) {
if(f.isFile()&&f.getName().endsWith(".jpg")){
System.out.println(f.getName());
}
}