File类的解释
- 1,file类的对象,代表一个文件或着一个目录(文件夹)
- 2.File类操作文件或目录的常用方法
- 3, 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个
File
对象,但是Java程序中的一个File
对象,可能没有一个真实存在的文件或目录。(文件和目录路径的抽象表现形式) - 4,file类是Java提供的针对针对磁盘中的文件或目录转换对象的包装类,一个file对象可以代表一个文件或者目录,file对象可以实现获取文件和目录属性等功能,可以实现对文件和目录的创建和删除等功能。(File类的构造方法比较灵活,可以根据具体的需要选择使用)
createNewFile
- 1.目录不存在程序异常
- 2.目录结构存在且文件不存在则创建空文件
- 3.目录结构存在且文件存在不做任何操作
file常用的方法
- 构造一个File对象,并不会导致任何磁盘操作。只有当我们调用File对象的某些方法的时候,才真正进行磁盘操作。
public boolean createNewFile() // 创建一个新的空的文件
public boolean mkdir() // 创建一个单级文件夹
public boolean mkdirs() // 创建一个多级文件夹
//如果只给定一个路径的话,是以当前的 project 作为起始路径的
//如果是\\file则是以当前盘符为起始路径
File file = new File("a");
System.out.println(file.getAbsolutePath()); //根据给定的字符串构造出来一个绝对路径,不检查存在与否
System.out.println(file.getPath()); //得到最后一级目录或者文件的名称
System.out.println(file.getName());
System.out.println(file.length()); //得到文件大小
- 总结 : mkdirs()函数好用,其可以创建多级文件夹,自动补全所有的目录结构,推荐使用mkdirs()
File d = new File("d");
boolean newFile = d.createNewFile(); //只会创建文件,所以传入的字符串不能是一个路径
System.out.println(newFile);
//创建单级目录,如果目录存在则返回false,亦即不用先判断在创建了,直接创建即可
//而且要注意,你输入什么就创建什么目录,例如 "d.txt",就会创建一个 d.txt的目录,不会推断你是想创建一个文本
boolean mkdir = d.mkdir();
System.out.println(mkdir);
//创建多级目录
File e = new File("d\\e");
boolean mkdirs = e.mkdirs();
System.out.println(mkdirs);
删除:
- 删除映射的文件或目录,父目录不会删除
public boolean delete() // 删除由此抽象路径名表示的文件或目录
方法 | 说明 |
---|
boolean delete() | 删除文件或者一个空文件夹,不能删除非空文件夹 ,马上删除文件,返回一个布尔值。 |
void deleteOnExit() | jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。 |
File类判断常用功能:
isFile(): | 判断是否为文件 |
isexists(): | 判断文件是否存在 |
isDirectory(): | 判断是否为文件夹 |
getAbsolutePath(): | 获取文件的绝对路径 |
getPath(): | 返回文件路径 |
getName(): | 获取文件或目录的名称 |
getParent(): | 获取父路径 |
lenght: | 获取文件的长度 |
public static void main(String[] args) {
File f1=new File("D:aa/Hello.text");//你的同时创建了文件映像对象
File f2=new File("./bb.text");//你的同时创建了文件映像对象
File absoluteFile=f1.getAbsoluteFile();//绝对磁盘路径
System.out.println("文件的全路径:"+absoluteFile);
String path=f1.getPath();
System.out.println("文件的路径:"+path);//定义的时候文件路径的名
String name=f1.getName();
System.out.println("文件名称:"+name);
String parent=f1.getParent();
System.out.println("父路径:"+parent);
File parentFile=f1.getParentFile();
System.out.println("父路径:"+parentFile);
long length=f1.length();
System.out.println("文件的大小:"+length);
System.out.println(f1.exists());//判断该文件或文件夹是否存在
System.out.println(f1.isDirectory());//判断是否为文件夹
System.out.println(f1.isFile());//判断是否为文件
}
//File类对象的创建 文件----》文件夹
File f1=new File("d:/aa/bb/b.txt");
//1,如果文件的前置目录路径不存在,则抛出异常;2,文件前置的目录路径存在,文件不存在则创建一个空文件,文件存在则不做任何操作
f1.createNewFile();
//File类对象的创建 文件夹
File f2=new File("D:/xx/yy");
//该方法要求所有前置目录已经存在,才会创建对应的文件夹 zz
//f2.mkdir();
//3.该方法可以自动补全所有父目录,并创建文件夹,一般使用该方法!!!
f2.mkdir();
//File类对象的删除
File f3=new File("D:xx/yy/zz");
File f4=new File("D:xx");
//删除文件夹必须为空。才可以成功删除成功
f3.delete();
//删除文件夹
f4.delete();