public File(String pathname)//根据文件路径创建文件的对象 public File(String parent ,String child)//根据文件的父级路径和子机路径创建文件的对象 public File(File parent,String child)//根据父级路径对应的文件,和子级路径创建文件对象
一,File的常见成员方法(判断,获取)
public boolean isDirectory()//判断此路径名是否为文件夹 public boolean isFile()//判断此路径是否为文件 public boolean exists()//判断此路径表示的文件是否存在 public long length()//返回文件的大小(字节数量) public String getAbsolutePath()//返回文件的绝对路径 public String getPath()//返回定义文件时使用的路径 public String getName()//返回文件的名称,带后缀 public long lastModified()//返回文件的最后修改时间
注意:
关于length的细节:这个方法只能获取文件的大小,不能获取文件夹的大小。
二、文件的创建与删除
public boolean createNewFile()//创建一个空的文件 public boolean mkdir()//创建一个空的单级文件夹 public boolean mkdirs()//创建一个空的多级文件夹 public boolean delete()//删除文件,空文件夹
单级文件夹与多级文件夹的区别:多级文件夹,文件夹里面还有一个文件夹。
delete方法不能删除多级文件夹。
createNewFile()方法:1、如果当前路径不存在,则创建成功,方法返回true。
2、如果当前的路径存在,则创建不成功,方法返回fasle.
3、如果父级路径不存在,则抛出IOExcrption的异常。
String parent="c:\\aaa";//父级路径 String name1="bbb";//子级路径 File file1 = new File(parent,name1); boolean falg1 = file1.mkdir(); //创建单级文件夹 String name2 = "bbb\\ccc"; File file2 = new File(parent,name2); boolean falg2 = file2.mkdirs()//创建多级文件夹
delete()方法的细节:
如果删除的是文件或空文件夹,则直接删除,不走回收站。
如果是有内容的文件夹,则删除失败,方法返回false。
三、File中的常见的获取遍历方法
public FIle[] listFile()//获取当前路径下的所有内容
注意点:
1、当调用者的路径不存在或者该路径是文件时,方法返回null。
2、该方法会将当前文件夹中的所有内容,放到File数组中,包括隐藏文件,且但文件夹中没有内容时,返回一个长度为0的数组。
3、当该路径需要权限才能访问时,方法返回null。
四、练习题
寻找盘符中的指定文件
(递归寻找)
public static void main(String[] args) { File fl = new File("D:\\"); find(fl); } public static void find(File src) { File[] files = src.listFiles(); if (files!=null) { for (File file : files) { if (file.isFile()) { if (file.getName().equals("777.txt")) { System.out.println(file); } }else{ find(file); } } } }