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文件名(递归)
思路:
- 键盘录入文件夹路径
- 判断录入文件夹路径有效性
- 递归遍历整个文件夹,满足后缀为.java就打印出来
代码及运行结果如下:
Java IO编程系列请跳转---Java IO编程
谢谢阅读 ----知飞翀