File类 (Java)

2022-07-28,

File类

File 不区分文件和文件夹

File(String pathname)  //可以是绝对路径,也可以是相对路径(盘符) 					         有盘符就是绝对路径  可以使用 \\ 或者  /
File fileA = new File("E:\\a.txt");
File fileA = new File("E:/a.txt");

File(File parent, String child)   // 文件夹下面对应的文件

File(String parent, Stringchild)  //抽象一个指定路径下的文件

常用方法

public boolean canRead() 

public boolean canWrite() 

public boolean exists() 

public boolean isDirectory()   // 是否为文件夹

public boolean isFile()    // 是否为文件

public boolean isHidden()  

public long lastModified() //  上次修改的时间 距1970的毫秒

public long length()   // 所占字节数

public String getName() 
    

public String getPath() 
public String getAbsolutePath() 
    
    File fileC = new File("c.txt");
        System.out.println(fileC);
        System.out.println(fileC.getPath());
        System.out.println(fileC.getAbsolutePath());
        System.out.println(fileC.exists());
// 运行结果:
c.txt
c.txt
E:\20201012day07\004_code\20201012day07\c.txt


public boolean createNewFile()  // 创建文件,没有就创建,有就返回false

public boolean mkdir() // 只能创建文件夹 确保父路径存在,才能创建 
					// mkdir()只能创建单层目录文件夹
	File file = new File("E:\\a");
	file.mkdir();//创建成功
	File file = new File("E:\\a\\b");
	file.mkdir();//创建失败

public boolean mkdirs() // 只能创建文件夹   如果父路径不存在,则创建  
    					//mkdirs()可以创建多层目录文件夹
	File file = new File("E:\\a\\b");
	file.mkdirs();//创建成功

public boolean delete()   // 删除文件 或 文件夹
    

String[] list( )     //  文件名的数组   循环打印得到文件名

String[] list(FilenameFilter filter)

File[] listFiles( )      //  文件的数组   循环打印得到文件路径

File[] listFiles(FileFilter filter)

File[] listFiles(FilenameFilter filter)

public class FileDemo007 {
    public static void main(String[] args) {
        File file = new File("E:\\a");
        deleteFiles(file);

    }

    // 删除 file中的所有内容

    /**
     * file.delete方法 删除文件|目录   只能删文件或者空目录
     * 1、文件则直接删
     * 2、目录
     *      1.1 获取子目录
     *      1.2 遍历子目录
     *          文件直接删
     *          目录
     *              获取子目录
     * @param file
     * @return
     */
    public static void deleteFiles(File file){

        // 如果是空或者文件不存在, 推出
        if( null == file || !file.exists() ){
            System.out.println("文件为null 或者根本就不存在");
            return ;
        }

        System.out.println(file.getName());
        // 文件一定存在, file是文件对象,直接删
        if(file.isFile()){
            file.delete();
            return;
        }

        // 如果是目录
        File[] files = file.listFiles();
        for(File f : files){
            deleteFiles(f);
        }
        // 内层删完以后 删除自己
        file.delete();
    }
}

本文地址:https://blog.csdn.net/weixin_45464739/article/details/109273390

《File类 (Java).doc》

下载本文的Word格式文档,以方便收藏与打印。