File类
1 概述
java.io包中提供了一个File
类,该类用于表示系统中文件或者目录,使用File类可以对文件或者目录结构进行操作,即使用java.io.File
类提供的构造方法和普通方法可以对文件(标准文件,目录)进行:创建,删除,扫描,等操作
2. 构造方法
File(String path)
File(String parent,String child)
File(File parent,String child)
//使用提供的文件(或目录)路径
File f = new File("D:/素材/视频/短视频/大事发生.mp4");
System.out.println(f.toString());
f = new File("D:/素材/视频/短视频","大事发生.mp4");
System.out.println(f);
f = new File(new File("D:/素材/视频/短视频"),"大事发生.mp4");
System.out.println(f);
3. 常见方法
createNewFile()
:创建由当前File对象所表示的新文件(标准文件)mkdir()
:创建由当前File对象所表示的目录(一级子目录)mkdirs()
:创建由当前File对象所表示的目录(多级子目录)delete()
:删除当前File所表示的文件或者目录(空目录)exists()
:判断当前File表示的文件或目录是否存在getAbsolutePath()
:获取当前File对象的绝对路径getName()
:获取当前文件名getParentFile()
:获取当前RFile所表示的父文件对象isDirectory()
isFile()
length()
lastModified
//获取与系统有关的路径分隔符 window-";" linux-":"
System.out.println(File.pathSeparatorChar);
//获取与系统有关的名称分隔符 window-"\" linux="/"
System.out.println(File.separatorChar);
//使用提供的文件(或目录)路径
File f = new File("D:/素材/视频/短视频/大事发生.mp4");
System.out.println(f.toString());
f = new File("D:/素材/视频/短视频","大事发生.mp4");
System.out.println(f);
f = new File(new File("D:/素材/视频/短视频"),"大事发生.mp4");
System.out.println(f);
System.out.println(f.canExecute());
System.out.println(f.canRead());
System.out.println(f.canWrite());
f = new File("D:/素材/视频/短视频/小电影/mp4/xx/私密");
//创建当前File对象所表示的新文件
// System.out.println("文件创建结果:"+f.createNewFile());
//创建目录,创建一级子目录
// System.out.println("目录创建结果:"+f.mkdir());
//创建目录,创建多级子目录(包括不存在的父目录)
System.out.println("目录创建结果:"+f.mkdirs());
//在指定的目录中创建指定前缀和后缀的临时文件
File tempFile = File.createTempFile("test",".log",new File("D:/素材/视频/短视频"));
// new Timer().schedule(new TimerTask() {
// @Override
// public void run() {
// if(tempFile.delete()){
// System.out.println("删除成功");
// }else{
// System.out.println("删除失败");
// }
// }
// },5000);
// System.out.println(f);
//在JVM结束时删除文件
tempFile.deleteOnExit();
f = new File("D:\\素材\\视频\\短视频\\小电影\\mp4\\xx\\私密");
//删除由File所表示的标准文件或者目录(空目录)
System.out.println("删除目录:"+f.delete());
//判断由File所表示的标准文件或者目录是否存在
System.out.println(f.getParentFile().exists());
//获取由该File对象所表示的文件或目录的绝对路径
System.out.println("绝对路径:"+f.getAbsolutePath());
System.out.println("绝对路径表示的文件对象"+f.getAbsoluteFile());
//获取当前文件或目录所表示磁盘的剩余空间(字节)
//1024字节=1KB 1024kb=1MB 1024MB=1GB 1024GB=1TB 1024TB=1PB
System.out.println("当前盘符剩余空间:"+f.getParentFile().getFreeSpace()+"字节");
System.out.println((f.getParentFile().getFreeSpace() / (1024 * 1024 * 1024)));
System.out.println("当前盘符的总空间:"+f.getParentFile().getTotalSpace()+"字节");
f = new File("D:/素材/视频/短视频/大事发生.mp4");
//获取文件名称
System.out.println("文件名:"+f.getName());
System.out.println("父路径:"+f.getParent());
System.out.println("父路径所表示的文件:"+f.getParentFile());
System.out.println("判断File对象是否是目录:"+f.isDirectory());
System.out.println("判断File对象是否是标准文件:"+f.isFile());
f = new File("D:\\素材\\视频\\预告片\\猫和老鼠.mp4");
System.out.println(f.exists());
System.out.println("判断当前文件对象是否是隐藏文件:"+f.isHidden());
//获取当前文件的最后修改时间
long time = f.lastModified();
System.out.println(new Date(time));
//获取目标File对象所表示文件的大小(字节)
long len = f.length();
System.out.println(len / (1024*1024.0));