3、File类之创建、删除、重命名、判断方法
一般我们调用内置类的方法,都是指调用其成员方法,故而以下几种方法都是File类的成员方法,常用的有以下3种,
分别是
//创建 public boolean createNewFile() public boolean mkdir() public boolean mkdirs() //删除 public boolean delete() //重命名 public boolean rannameTo(File dest) /* 需要注意的是,这些方法都是File内置方法,jdk里已经有了,所以并不需要我们创建,我们直接拿来调用即可 */
其对应的Api是
创建:
删除
重命名
下边,便一一说明这些方法如何使用
创建单层文件夹: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