Java File入门

Java File入门


Java IO编程系列请跳转---Java IO编程 ​​​​​​​

File创建

构造方法
    * File(String pathname):根据一个路径得到File对象
    * File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    * File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

创建功能
    * public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
    * public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
    * public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来                                                                            注:默认在项目路径下创建文件。

重命名和删除功能
    * public boolean renameTo(File dest):把文件重命名为指定的文件路径
    * public boolean delete():删除文件或者文件夹                                                                                                                                删除注意事项:
               * Java中的删除不走回收站(无法找回)。
               * 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹


File常用API

判断功能
    * public boolean isDirectory():判断是否是目录
    * public boolean isFile():判断是否是文件
    * public boolean exists():判断是否存在
    * public boolean canRead():判断是否可读
    * public boolean canWrite():判断是否可写
    * public boolean isHidden():判断是否隐藏

获取功能
    * public String getAbsolutePath():获取绝对路径
    * public String getPath():获取路径
    * public String getName():获取名称
    * public long length():获取长度。字节数
    * public long lastModified():获取最后一次的修改时间,毫秒值
    * public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
    * public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组 


实战一:File过滤器

文件名称过滤器的概述
    * public String[] list(FilenameFilter filter)
    * public File[] listFiles(FileFilter filter)
文件名称过滤器的使用
    * 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
源码分析
    * 带文件名称过滤器的list()方法的源码

实现代码及测试如下:

Filter源码分析 

这里以 public File[] listFiles(FileFilter filter)为例,在listFiles方法中传入filter对象来实现FileFilter接口类,从下图源码中我们发现,在listFiles中通过filter.accept()来取得我们传入的filter的accept方法,而在if条件下过滤出符合要求的file文件。

 

实战二:打印出指定文件夹下所有的.java文件名(递归)

思路:

  1. 键盘录入文件夹路径
  2. 判断录入文件夹路径有效性
  3. 递归遍历整个文件夹,满足后缀为.java就打印出来

代码及运行结果如下:


Java IO编程系列请跳转---Java IO编程 

                                                            谢谢阅读                           ----知飞翀

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值