- 一、File的介绍:
- 二、File的构造方法:
- 三、File的相关方法和属性
- 四、File小技巧
- File类的一个对象,代表着一个文件或者一个文件目录(即文件夹)
- File类声明在java.io包下
- File类中涉及到关于文件或目录的创建,删除,重命名,修改时间,文件大小等方法,但是并没有涉及到写入或读取文件内容的操作,如果要读取或写入文件内容,必须使用IO流来完成。
示例:
//不使用Java提供的分隔符,以下是针对windows平台
File file1 = new File("D:\IO\a.txt");
System.out.println(file1); //输出:D:IOa.txt
//使用Java提供的分隔符
File file2 = new File("D:" + File.separator + "IO" + File.separator + "a.txt");
System.out.println(file2); //输出:D:IOa.txt
//File(File parent,String child)
//从父抽象路径和子路径字符串创建新的File实例
File file3 = new File("D:");
File file4 = new File(file3, "IO" + File.separator + "a.txt");
System.out.println(file4); //输出:D:IOa.txt
//File(String pathname)
//通过将给定的路径名字符串转化为抽象路径名来创建新的File实例
File file5 = new File("D:" + File.separator + "IO" + File.separator + "a.txt");
System.out.println(file5); //输出:D:IOa.txt
//File(String parent,String child)
//通过父类路径名字符串和子路径名字符串来创建新的File实例
File file6 = new File("D:", "IO\a.txt");
System.out.println(file6); //输出:D:IOa.txt
三、File的相关方法和属性
属性:
常用方法:
File的获取功能:
//先创建一个File对象
File file = new File("D:" + File.separator + "IO" + File.separator + "a.txt");
//获取绝对路径
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath); //D:IOa.txt
//获取相对路径
String path = file.getPath();
System.out.println(path); //D:IOa.txt
//获取名称
String name = file.getName();
System.out.println(name); //a.txt
//获取上一层目录路径
String parent = file.getParent();
System.out.println(parent); //D:IO
//获取文件长度(字节数)
long length = file.length();
System.out.println(length);
//获取最后一次的修改时间(毫秒值)
long lastTime = file.lastModified();
System.out.println(lastTime);
File的判断功能:
//判断是否是目录 boolean isDirectory = file.isDirectory(); System.out.println(isDirectory); //判断是否是文件 boolean isFile = file.isFile(); System.out.println(isFile); //判断是否存在 boolean isExists = file.exists(); System.out.println(isExists); //判断是否可读 boolean isRead = file.canRead(); System.out.println(isRead); //判断是否可写 boolean isWrite = file.canWrite(); System.out.println(isWrite); //判断是否隐藏 boolean isHidden = file.isHidden(); System.out.println(isHidden);
File的创建功能:
File file = new File("D:\a.txt");
//创建文件,如果文件已经存在,则不创建,并返回false
boolean createNewFile = file.createNewFile();
System.out.println(createNewFile);
//创建文件目录,如果文件目录已经存在,则不创建。如果此文件的上层目录不存在,也不创建
boolean mkdir = file.mkdir();
System.out.println(mkdir);
//创建文件目录,如果上层目录不存在,一并创建
boolean mkdirs = file.mkdirs();
System.out.println(mkdirs);
File的删除功能:
//Java的删除不走回收站 //要删除一个文件目录,需要保证这个目录中不包含文件或者其他目录 boolean delete = file.delete(); System.out.println(delete);
目录相关:
//以下两个方法适用于目录 //获取指定目录下的所有文件和文件目录的名称数组 public String[] list(); //获取指定目录下的所有文件和文件目录的File数组 public File[] listFiles();
剩下的方法没有什么好说的,详情请见 java8文档:File类接口,需要用到的时候再进行查询文档即可。
四、File小技巧打印给定目录下的所有文件夹和文件夹里面的内容:
public void getFileList(File file){
//第一级子目录
File[] files = file.listFiles();
for (File f : files) {
System.out.println(f);
if(f.isDirectory()){
getFileList(f);
}
}
}
@Test
public void test(){
File file = new File("D:\data");
getFileList(file);
}



