File类
File类是对文件和目录进行相关操作的类。
构造方法:
- File(String pathname):根据一个路径得到File对象
- File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
- File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
```//通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File file = new File("C:\\Users\\ShenMouMou\\Desktop\\集合小结.bmp");
//File(String parent, String child)
//根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
//父路径是个字符串形式的
File file1 = new File("C:\\Users\\ShenMouMou\\Desktop", "集合小结.bmp");
//File(File parent, String child)
//根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
File file2 = new File("C:\\Users\\ShenMouMou\\Desktop");
//父路径是个File形式
File file3 = new File(file2, "集合小结.bmp");
方法:
- 创建功能
创建一个文件
File file = new File("a.txt");
//创建一个文件 返回值表示,该文件是否创建成功
//重复创建该文件,返回false 第一次创建成功返回true
boolean newFile = file.createNewFile();
System.out.println(newFile);
创建一个目录
//封装一个目录
File file1 = new File("E:\\test");
//创建一个目录,第一次创建成功,返回true 重复创建返回false
boolean b = file1.mkdir();//创建单级目录
System.out.println(b);
创建多级目录
File file2 = new File("E:\\demo\\hehe\\haha");
// boolean mkdir = file2.mkdir();
boolean mkdirs = file2.mkdirs(); //创建多级目录
System.out.println(mkdirs);
- 删除功能:
删除文件
//delete(); 删除文件或目录,注意不走回收站
File file = new File("a.txt");
boolean b = file.delete(); //返回值表示,文件是否删除成功
System.out.println(b);
删除目录
File file1 = new File("E:\\test");
//delete();删除目录,只能删除空目录
boolean delete = file1.delete();
System.out.println(delete);
- 文件的重命名
//重命名
//当你的源文件,和你传入的这个文件,在同一个目录下那么就是重命名
File file1 = new File("b.txt");
boolean b = file.renameTo(file1);//返回值时是否重命名成功
System.out.println(b);
注意,如果两个文件的路径不相同,则该函数的功能将变成剪切文件
//剪切功能renameTo()当你源文件的路径 ,和传入的文件路径不一致,就是剪切
File file2 = new File("c.txt");
File file3 = new File("E:\\c.txt");
file2.renameTo(file3);
- 与判断有关的方法
//与判断相关的方法
//判断他是不是一个文件
File file = new File("b.txt");
boolean file1 = file.isFile();
System.out.println(file1);
//判断它是不是一个文件
File file2 = new File("E:/demo");
System.out.println(file2.isFile());
//判断是不是一个目录isDirectory()
System.out.println(file2.isDirectory());
boolean exists = file.exists();
System.out.println(exists);
if(exists)//判断文件是否存在{
file.delete();
}
File file3 = new File("E:\\mytest");
boolean exists1 = file3.exists();
if(!exists1){
file3.mkdirs();
File file = new File("C:\\Users\\ShenMouMou\\Desktop\\aaa.txt");
//判断文件是否可读可写
boolean b = file.canRead();
boolean b1 = file.canWrite();
System.out.println(b);
System.out.println(b1);
//判断一个文件是否隐藏
boolean hidden = file.isHidden();
System.out.println(hidden);
//判断是否是可执行文件 Liunx系统下 判断是否是一个可执行文件
boolean b2 = file.canExecute();
//判断这个文件,是否是绝对路径
boolean absolute = file.isAbsolute();
System.out.println(absolute);
- 与获取有关的方法
//关于获取的方法
File file = new File("F:\\复制\\aaa..txt");
String name = file.getName(); //获取文件或目录的名称
System.out.println(name);
//获取文件的长度 字节数
long length = file.length();
System.out.println(length);
//获取他的绝对路径返回的是字符串的形式
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
//获取他的绝对路径返回的是File的形式,根据灵活
File absoluteFile = file.getAbsoluteFile();
absoluteFile.delete();
System.out.println(absolutePath.toString());
//获取相对路径
String path = file.getPath();
System.out.println(path);
//获取该文件的父路径,返回的是字符串表现形式
String parent = file.getParent();
System.out.println(parent);
//获取该文件的父路径,返回的是File表现形式
File parentFile = file.getParentFile();
System.out.println(parentFile);
运行结果:
//获取盘符的空间大小
File file = new File("D:\\");
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");
//获取文件的最后一次修改时间
long time = file.lastModified();
System.out.println(time);
//怎么把毫秒值,转换成年月日时分秒
Date date = new Date(time);
String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
System.out.println(format);
// public String[] list (): 获取该目录下所有的文件或文件夹的名称
File file = new File("E:\\测试图片");
String[] list = file.list();
for (String s : list) {
System.out.println(s);
}
File file = new File("E:\\测试图片");
File[] files = file.listFiles(); //获取该目录下,所有的文件或文件夹的File形式数组
for (File f : files) {
System.out.println(f.getName());
}