Java的file相关知识

File

1.File对象表示路径,可以是文件、也可以是文件夹。这个路径可以是存在的,也可以是不存在的。

2.路径分为绝对路径和相对路径,绝对路径是带盘符的,相对路径是不带盘符的,默认到当前的项目下去找,也就是说写相对路径一定要从当前模块开始写起。

3.构造方法:

方法名说明
public File(String pathname)根据文件路径创建文件对象

public File(String parent,String child)

根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent,String child)根据父路径对应文件对象和子路径名字符串创建文件对象

2.常见的判断、获取成员方法:

方法名说明
public boolean isDirectory()判断此路径名表示的File是否为文件夹
public boolean isFile()判断此路径名表示的File是否为文件
public boolean exists()判断此路径名表示的File是否存在
public long length()返回文件的大小(字节数量)
public String getAbsolutePath返回文件的绝对路径
public String getPath()返回定义文件时使用的路径
public String getName()返回最后一层文件的名称,带后缀
public long lastModified()

返回文件的最后修改时间(时间毫秒值)

  • length方法只能返回文件的大小(字节数量),如果需要获取M或者G,可以除以1024。length方法无法直接获取文件夹的大小,除非把该文件夹里面所有的文件大小都累加到一起
  • getName方法如果在File对象创建时记录的是文件的名字,那么返回的就是带后缀的文件的名字(比如a.txt);如果记录的是文件夹的名字,那么返回的就是最后一层的文件夹

3.常见的创建、删除成员方法:

方法名说明
public boolean createNewFile()创建一个新的空的文件
public boolean mkdir()创建单级文件夹
public boolean mkdirs()创建多级文件夹
public boolean delete()删除文件、空文件夹(只能删除文件和空文件夹,而且删除不走回收站)
  • createNewFile说明:

1)如果当前路径表示的文件是不存在的,则创建成功,方法返回true;

2)如果当前路径表示的文件是存在的,则创建失败,方法返回false;

3)如果父级路径是不存在的(找不到),那么方法会有异常IOException;

4)创建的一定是文件,如果路径中不包含后缀名,则会创建一个没有后缀的文件。

  • mkdir,make Directory创建文件夹(目录):

1)Windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false;

2)mkdir方法只能创建单级文件夹,无法创建多级文件夹。

  • mkdirs,可以创建多级文件夹,也可以创建单级文件夹,创建单级文件夹时底层就是使用mkdir,以后一般使用mkdirs

4.获取并遍历的成员方法:

方法名说明
public static File[] listRoots()列出可用的文件系统根
public String[] list()获取当前该路径下所有内容(获取的只是文件名或者文件夹名)
public String[] list(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles()获取当前该路径下所有内容
public File[] listFiles(FileFilter filter)利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容

重点掌握加粗的listFile方法:

  • 当调用者File表示的路径不存在时,返回null
  • 当调用者File表示的路径是文件时,返回null
  • 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
  • 当调用者File表示的路径时一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,如果当前文件夹包含隐藏文件,那么隐藏文件也会放到数组中返回
  • 当调用者File表示的路径是需要权限才能访问的文件夹时,返回null,因此listFile返回的数组最好判空

5.查找内容时的一般步骤:

  • 进入文件夹
  • 遍历数组
  • 判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值