IO流
File类
File是文件和目录路径名(文件夹)的抽象表示
既可以存在也可以不存在,是抽象的
File类的构造方法
public File(String pathname);// 创建一个file实例,把传入字符串转换为抽象路径名(抽象的意思是这个文件可能存在也可能不存在)
public File(String parent,String child);// 创建file实例,前边的字符串是父路径,后边的是子路径,可以和1构造方法产生同样效果
public File(File parent,String child);// 创建file实例,是file实例和子路径的合
File类的创建功能
public boolean createNewFile()// 当文件不存在时,会创建一个该路径名的文件 存在该路径文件时,会返回false
public boolean mkdir() // 以该路径名创建文件夹
public boolean mkdirs()// 以该路径名创建多个文件夹,可以创建多级文件夹,比如D:\\java\\javac\\javase
注意创建文件夹下的文件时,需要先创建文件夹,再在文件夹下创建文件
File类的判断和获取
public boolean isDirectory() // 判断路径名是否为文件夹
public boolean isFile() // 判断路径名是否为文件
public boolean exists() // 判断是否存在路径名对应的文件或者文件夹
public String getAbsolutePath() //获取绝对路径 D:\\java\\jar.txt
public String getPath() //获取路径名 java\\jar.txt
public String getName() //获取文件名 jar.txt
public String[] list()//获取文件夹路径中的所有文件夹和文件名 获取的是名字
public File[] listFiles()//获取文件夹路径中的所有文件夹和文件的file对象 获取的是对象
File类的删除功能
public boolean delete()//删除路径名内容
注意如果删除文件夹内有内容,必须先删文件夹内的内容,再删文件夹
File练习
遍历目录输出所有文件,文件夹内部的也要输出
public class Demo02 {
public static void main(String[] args) {
File srcFile = new File("D:\\ppt");
getAllFilePath(srcFile);
}
public static void getAllFilePath(File srcFile){
//首先先拿到所有file的内容
File[] src = srcFile.listFiles();
//然后遍历内容,把文件和文件夹分开处理
if (src!=null){ // 先判断不为空,增强代码健壮性
for (File file : src){
if (file.isDirectory()){
getAllFilePath(file); //如果是文件夹,就重新调用该方法来读取内部文件
}
else {
System.out.println(file.getAbsolutePath());
}
}
}
}
}