java的IO流模块常用的工具有File、字节流、字符流、特殊操作流,本篇文章便是本人学习File类的一次学习记录。
一、File类概述
File:是文件和目录路径名的抽象表示
① 文件和目录是可以通过File封装成对象的。
② 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。他可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的。
三种构造方法,第一种全名称的形式最简洁。
二、File类的创建功能
import java.io.File;
/*
* File类有三种构造方法
* 这是使用直接写全路径的构造方法
* 创建功能中有以下类
* boolean createNewFile() 当具有该名称的文件不存在时,创建一个由该路径命名的心空文件
* 如果文件存在返回true
* 不存在,就创建文件,然后返回false
* boolean mkdir() 创建由此抽象路径名命名的目录
* 如果目录不存在,就创建目录返回true
* 存在就返回false
* Boolean mkdirs()创建由此抽象路径命名的目录,包括任何必须但不存在的父目录
* 在父目录下可以直接多级创建目录,不存在就创建返回true
* 存在就返回false
* */
public class FileDemo {
public static void main(String[] args) {
//使用File创建E盘下ATest路径的对象
//1.在这个目录下创建java.txt文件
// File file = new File("E:\\ATest\\java.txt");
// try {
// System.out.println(file.createNewFile());
// }catch (Exception e){
// System.out.println("创建失败");
// }
//2.在这个目录下创建JavaSE目录
// File file = new File("E:\\ATest\\JavaSE");
// System.out.println(file.mkdir());
//3.在这个目录下创建JavaWEB\\Html(双层目录)目录
File file = new File("E:\\ATest\\JavaWEB\\Html");
System.out.println(file.mkdirs());
}
}
三、File类的判断和获取功能
import java.io.File;
/*
*File类的判断和获取功能
*首先先创建一个目录OR文件的路径
file.isDirectory())//判断File是不是目录
file.isFile()//判断File是不是文件
file.exists()//判断该路径下File文件是否存在
file.getAbsolutePath()//File对象的绝对路径
file.getPath()//File对象的相对路径
file.getName()//抽象路径表示的文件或目录名
String[] list = file1.list();//将这个目录下的所有文件、文件夹的名字存储到字符串数组,返回字符串数组
File[] files = file1.listFiles();//将这个目录下的所有文件、文件夹的名字存储到File数组中,返回File对象数组
* */
public class FileDemo2 {
public static void main(String[] args) {
// //创建一个File对象,路径为这个项目下的ReadMe.txt文件
// File file = new File("E:\\ATest\\java.txt");
// System.out.println(file.isDirectory());//判断File是不是目录
// System.out.println(file.isFile());//判断File是不是文件
// System.out.println(file.exists());//判断该路径下File文件是否存在
//
// System.out.println(file.getAbsolutePath());//File对象的绝对路径
// System.out.println(file.getPath());//File对象的相对路径
// System.out.println(file.getName());//抽象路径表示的文件或目录名
File file1 = new File("E:\\ATest");
// String[] list = file1.list();//将这个目录下的所有文件、文件夹的名字存储到字符串数组,返回字符串数组
// for (String str:list
// ) {
// System.out.println(str);
// }
File[] files = file1.listFiles();//将这个目录下的所有文件、文件夹的名字存储到File数组中,返回File对象数组
for (File f:files
) {
System.out.println(f);
}
}
}
四、File类的删除文件or目录
import java.io.File;
/*
* File类的删除方法
*boolean delete()删除文件or目录
* 如果目录下有内容是无法删除的!
* */
public class FileDemo3 {
public static void main(String[] args) {
File f = new File("E:\\ATest\\java.txt");
System.out.println(f.delete());
}
}