一、File类的介绍:
1.1 简介:
java.io.File类是文件和目录路径名称的抽象表示,主要用于文件和目录的创建、查找和删除等操作
1.2 File类构造方法:
常用的有三种:
1. File(String pathname):通过路径名创建一个新 File 实例(对象)。
2. File(File parent, String child):根据父目录路径File实例和子目录或文件路径创建一个新 File 实例。
3. File(String parent, String child) :根据父目录路径和子目录或文件路径创建一个新 File 实例。
例题:
public class Work {
public static void main(String[] args){
File file = new File("E:\\网易有道词典\\Youdao\\Dict\\guid.dat"); //第一种方式。
System.out.println(file.getPath()); //getPath()返回该file的路径。
file=new File(new File("E:\\网易有道词典\\Youdao"),"Dict\\guid.dat"); //第二种方式。
System.out.println(file.getPath());‘
file=new File("E:\\网易有道词典\\Youdao\\Dict","guid.dat"); //第三种方式。
System.out.println(file.getPath());
}
运行结果:
E:\网易有道词典\Youdao\Dict\guid.dat
E:\网易有道词典\Youdao\Dict\guid.dat
E:\网易有道词典\Youdao\Dict\guid.dat
1.3 创建和删除文件
File 类不仅可以获取已知文件的属性信息,还可以在指定路径创建文件,以及删除一个文件。创建文件需要调用 createNewFile() 方法,删除文件需要调用 delete() 方法。无论是创建还是删除文件通常都先调用 exists() 方法判断文件是否存在。
例 题:
创建一个a.txt的文件,要求把文件存放在D盘中的aa/bb/cc的目录中
实现代码如下:
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
//题目:创建一个a。txt的文件,要求把文件存放在D盘中的aa/bb/cc的目录中
File f1=new File("D:/aa/bb/cc");
File f2=new File(f1,"a.txt");
f1.mkdirs();
f2.createNewFile();
}
}
1.4创建和删除目录
File 类除了对文件的创建和删除外,还可以创建和删除目录。创建目录需要调用 mkdir() 方法,删除目录需要调用 delete() 方法。无论是创建还是删除目录都可以调用 exists() 方法判断目录是否存在。
例题:
编写一个程序判断 C 盘根目录下是否存在 con目录,如果存在则先删除再创建。实现代码如下:
public class Test04 {
public static void main(String[] args) {
String path = "C:/con/"; // 指定目录位置
File f = new File(path); // 创建File对象
if (f.exists()) {
f.delete();
}
f.mkdir(); // 创建目录
}
}
二、file常用方法的使用
2.1 创建
- createNewFile()指定路径不存在该文件时创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。
- mkdir() 在指定路径下创建一个之前没有的文件夹成功返回true;当不存在此路径时,创建失败返回false。
- mkdirs() 在指定路径下创建一个之前不存在的多级文件夹(路径不存在时创建出来)并返回true 否则false。
2.2 删除
delete() 删除文件或者一个空文件夹,不能删除非空文件夹,马上删除文件,返回一个布尔值。
deleteOnExit()jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。
2.3 判断
- exists() 文件或文件夹是否存在。
- isHidden() 是否是一个隐藏的文件或是否是隐藏的目录。
- isAbsolute() 测试此抽象路径名是否为绝对路径名。
- isDirectory() 判断此File对象代表的路径表示是不是文件夹,只有File对象代表路径存在且是一个目录时才返回true,否则返回false。
- isFile()判断此File对象代表的路径是否是一个标准文件,只有File对代表路径存在且是一个标准文件时才返回true,否则返回false。
2.4 获取
- getName() 返回此对象表示的文件或目录最后一级文件夹名称。
- getPath() 返回File对象所表示的字符串路径。
- getAbsolutePath() 获取文件的绝对路径,与文件是否存在没关系
- length() 获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
- getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
- getParentFile() 返回File对象所在的父目录File实例;如果File对象没有父目录,则返回 null。
- lastModified() 获取最后一次被修改的时间。
例题:
import java.io.File;
import java.io.IOException;
public class Work {
public static void main(String[] args) throws IOException{
File file = new File("D:\\Tom\\Jim.txt");
System.out.println(file.renameTo(new File("D:\\Tom\\Jom.txt"))); //7、改名,括号中必须是File实例。
Boolean flag = new File("D:\\Tom\\Lacy").mkdir(); //8、创建一层文件夹。
System.out.println(flag);
flag = new File("D:\\Tom\\a\\b").mkdirs(); //9、可以创建多层文件夹。
System.out.println(flag);
flag = new File("D:\\Tom\\a.doxc").createNewFile(); //10、创建一层文件。
System.out.println(flag);
System.out.println(new File("D:\\Tom\\a.doxc").exists()); //11、判断该文件或者文件夹是否存在。
}
}
执行结果:
true
true
true
true
true