文章目录
简介
文件和目录路径名的抽象表示形式(文件或者目录路径名),和四大家族无关
注意点:
- File 类和四大家族没有关系,所以File类不能完成文件的读写
- File对象代表什么? 文件和目录路径名的抽象表示形式;
c:\Drivers
这是一个File对象;c:\Drivers\Lan\Realtek\Readme.txt
这也是一个File对象; 一个File对象有可能对应的是目录,也可能是文件
实现代码
判断文件是否存在
File f1=new File("D:\\file");
System.out.println(f1.exists());
即D盘根目录下无File文件
以文件的形式创建
if(!f1.exists()){
f1.createNewFile();
}
以目录的形式创建
if(!f1.exists()){
f1.mkdir();
}
补充
以多重目录的形式新建(即D:\file\file1\file2\file3):
f1.mkdirs();
如何获取父路径
第一种
获取文件的父路径1:
String parentPath=f1.getParent();
System.out.println(parentPath);
第二种
File parentFile =f1.getParentFile();
System.out.println("获取绝对路径:"+parentFile.getAbsolutePath());
如何获取绝对路径
package File;
import java.io.File;
/*
* 1.File 类和四大家族没有关系,所以File类不能完成文件的读写
* 2.File对象代表什么?
* 文件和目录路径名的抽象表示形式
* c:\Drivers 这是一个File对象
* c:\Drivers\Lan\Realtek\Readme.txt 这也是一个File对象
* 一个File对象有可能对应的是目录,也可能是文件
* */
public class FileTest01 {
public static void main(String[] args)throws Exception {
File f1=new File("D:\\file");
//如果D:\file不存在,则以文件的形式创建出来
if(!f1.exists()){
// f1.createNewFile();
}
//如果D:\file不存在,则以目录的形式创建出来
if(!f1.exists()) {
f1.mkdir();
}
File f4=new File("copy");
System.out.println("获取绝对路径:"+f4.getAbsolutePath());
}
}
获取文件名
File f1=new File("copy");
//获取文件名
System.out.println("文件名:"+f1.getName());
判断是否是一个目录:
File f1=new File("copy");
System.out.println(f1.isDirectory());
判断是否是一个文件:
File f1=new File("copy");
System.out.println(f1.isFile());
获取文件最后一次修改时间
File f1=new File("copy");
long haomiao=f1.lastModified();//这个毫秒是从1970年到现在的总毫秒数
//将总毫秒数转换成日期
Date time=new Date(haomiao);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS") ;
String strTime =sdf.format(time);
System.out.println(strTime);
获取文件大小
File f1=new File("copy");
System.out.println(f1.length());
给文件重命名
File f1=new File("copy");
File f2=new File("copy1");
f1.renameTo(f2);
执行前
执行后
注意:调用renameTo
函数的一定是原来那个文件名
获取当前目录下面的所有子目录(重点)
获取当前目录下面的所有子目录
File[] listFiles()
File f=new File("src");
File[]files=f.listFiles();
for(File file:files){
System.out.println(file.getAbsolutePath());