3、File类之创建、删除、重命名、判断方法

3、File类之创建、删除、重命名、判断方法

一般我们调用内置类的方法,都是指调用其成员方法,故而以下几种方法都是File类的成员方法,常用的有以下3种,

分别是

    //创建
    public boolean createNewFile()
    public boolean mkdir()
    public boolean mkdirs()
    
    //删除
    public boolean delete()
    
    //重命名
    public boolean rannameTo(File dest)
    
    /*
     需要注意的是,这些方法都是File内置方法,jdk里已经有了,所以并不需要我们创建,我们直接拿来调用即可
     */

其对应的Api是

创建:

3、File类之创建、删除、重命名、判断方法

3、File类之创建、删除、重命名、判断方法

3、File类之创建、删除、重命名、判断方法

删除

3、File类之创建、删除、重命名、判断方法

重命名

3、File类之创建、删除、重命名、判断方法

下边,便一一说明这些方法如何使用

 创建单层文件夹:mkdir

public class Demo {
    public static void main(String[] args) {
        File file=new File("E:\Demo");
        System.out.println("创建状态:"+file.mkdir());
    }
    /*
     1. 由Api方法说明可知,该方法返回的是一个布尔值。即如果创建成功则返回true,反之则false
     2.如果你要创建的路径下已经存在改对象,那么将创建失败。
3.此办法只能创建一层文件夹,如果你要创建多层则失败:如E:\Demo\test,原因是它在你指定路径E:\Demo下创建test时候却找不到你指定的路径E:\Demo
*/ }
创建状态:true

 创建多层文件夹:mkdirs

public class Demo {
    public static void main(String[] args) {
        File file=new File("E:\Demo\test");
        System.out.println("创建状态:"+file.mkdirs());
    }
    /*
     1. 由Api方法说明可知,该方法返回的是一个布尔值。即如果创建成功则返回true,反之则false
     2.如果你要创建的路径下已经存在改对象,那么将创建失败
     */
}
创建状态:true

创建文件:createNewFile

public class Demo {
    public static void main(String[] args) throws IOException {
        File file=new File("E:\Demo\a.txt");
        System.out.println("创建状态:"+file.createNewFile());
    }
    /*
     1.查看api可知该内置方法会抛出一个异常IO异常,所以我们调用者将要处理这个一异常。但为了我们代码的连贯性,我先不捕,还把它抛出去
     2.该方法抛出一个异常IO异常,其实是为了防止你要创建的文件时找不到指定的目录
     3.同样会返回布尔值。你创建文件时候,前边路径即文件夹(如Demo)是一定要有的否则会创建失败,如果该目录下已经存在该文件(如a.txt)也会创建失败
     */
}
创建状态:true

删除

public class Demo {
    //删除文件
    public static void main(String[] args)  {
        File file=new File("E:\Demo\test\a.txt");
        System.out.println("创建状态:"+file.delete());
    }
    /*由Api方法说明可知,该方法返回的是一个布尔值。即如果删除成功则返回true,反之则false*/ 
}
public class Demo {
    //删除文件夹
    public static void main(String[] args)  {
        File file=new File("E:\Demo\test");
        System.out.println("创建状态:"+file.delete());
    }
    /*
     * 1.由Api方法说明可知,该方法返回的是一个布尔值。即如果删除成功则返回true,反之则false
     * 2.删除文件夹时,一定要保证该文件夹是空的,否则删除失败
     */ 
}

重命名:renameTo

public class Demo {
    //单纯重命名:将a.txt改名为b.txt
    public static void main(String[] args)  {
        File file       =new File("E:\Demo\test\a.txt");
        File file_change=new File("E:\Demo\test\b.txt");
        
        System.out.println("创建状态:"+file.renameTo(file_change));
    }
}
public class Demo {
    //将a.txt改名为b.txt,并剪切至E:\Demo目录下
    public static void main(String[] args)  {
        File file       =new File("E:\Demo\test\a.txt");
        File file_change=new File("E:\Demo\b.txt");
        
        System.out.println("创建状态:"+file.renameTo(file_change));
    }
}

判断

public class Demo {
    //将a.txt改名为b.txt,并剪切至E:\Demo目录下
    public static void main(String[] args)  {
        File file=new File("E:\Demo\a.txt");
        
        System.out.println("是否目录/文件夹:"+file.isDirectory());
        System.out.println("是否文件:"+file.isFile());
        System.out.println("是否存在:"+file.exists());
        System.out.println("是否可读:"+file.canRead());
        System.out.println("是否可写:"+file.canWrite());
        System.out.println("是否隐藏:"+file.isHidden());
    }
}

是否目录/文件夹:false
是否文件:true
是否存在:true
是否可读:true
是否可写:true
是否隐藏:false