File

Flie

路径分隔符: \ ( 或者 \ \ ) (windows) / (linux,在windows下用java这个貌似也可以,所以推荐 / ) 如果要考虑跨平台:File.separator

一、构造方法

  1. File(File parent, String child) ==>File(new File(“E:/xp/test”) 相对路径
  2. File(String parent, String child) ==>File(“E:/xp/test”, “2.jpg”), new File(“2.jpg”)) 相对路径
  3. File(String pathname)
  4. File(URI uri)

二、常用方法

1、File类的获取

  1. getName():文件或目录的名称 String
  2. getPath():路径 String
  3. getAbsoluteFile():绝对路径 File
  4. getAbsolutePath():绝对路径 String
  5. getParent():父目录,可能为null long

2、判断信息(boolean)

  1. exists():是否存在
  2. canWrite():是否可读
  3. canRead():是否可写
  4. isFile():是否是一个标准的文件
  5. isDirectory():是否是一个标准的文件夹
  6. isAbsolute():是否为绝对路径

3、长度

length():以字节为单位 long

4、创建、删除

  1. delete():删除文件 boolean
  2. deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。 boolean
  3. createNewFile():创建一个不重复的新文件 boolean
  4. static createTempFile(String prefix, String suffix):在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 File
    • prefix – 前缀字符串定义的文件名;必须至少有三个字符长
    • suffix – 后缀字符串定义文件的扩展名;如果为null后缀”.tmp” 将被使用
  5. static createTempFile(String prefix, String suffix, File directory):在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。 File

5、操作目录

  1. mkdir():创建文件夹的,如果父目录不存在,返回false boolean
  2. mkdirs():创建文件夹的,如果父目录不存在,则创建父目录,返回true boolean
  3. list():返回某个目录下的所有文件和目录的文件名 String[]
  4. listFiles():返回某个目录下所有文件和目录的绝对路径 File[]
  5. static listRoots():列出系统所有的根路径。这是一个静态方法,可以直接通过File类来调用。 File[]

三、文件过滤器

这里的FilenameFilter是public interface FilenameFilter实现此接口的类实例可用于过滤器文件名。实现accept(File dir, String name)  方法 

public String[] list(FilenameFilter filter)

public File[] listFile(FilenameFilter filter)

//定义类实现文件名称FilenameFilter过滤器
class MyFileFilter implements FilenameFilter{
    public boolean accept(File dir, String name) {//(File pathname)
        return name.endsWith(".java"); //String name = pathname.getName();
    }
}
//测试类
public class FileDemo2 {
    public static void main(String[] args) {
        //获取扩展名为.java所有文件
        //创建File对象
        File file = new File("E:\\code\\day11_code");
        //获取指定扩展名的文件,由于要对所有文件进行扩展名筛选,因此调用方法需要传递过滤器
        File[] files = file.listFiles(new MyFileFilter());
        //遍历获取到的所有符合条件的文件
        for (File f : files) {
            System.out.println(f);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值