IO:File类
位于java.io包下,用于表示与平台无关的文件和目录
File类可以用来操作文件和目录,但是不能用来访问文件的内容。
1.构造方法
File(String pathName)
通过将给定路径名字符串转换为抽象路径名来创建一个新File实例
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新File实例
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新File实例
构造对象时的注意事项:
对象的上层路径如果不存在的话,在创建对象时将会报错
即:对象要想创建成功,其父File对象(肯定是一个目录)必须存在
2.成员方法
2.1创建功能
boolean createNewFile()
创建此抽象路径名指定的文件
boolean mkdir()
创建此抽象路径名指定的目录
boolean mkdirs()
创建此抽象路径名指定的目录,包含必须的父File对象若不存在也一并创建
2.2删除功能
boolean delete()
删除此抽象路径名表示的文件或目录
注意事项:
- Java中的删除内容不会进入回收站,直接删除
- 删除的文件夹中不能包含内容
2.3重命名功能:
boolean renameTo(File dest)
重新命名到此抽象路径名表示的文件
2.4判断功能:
boolean exits()
boolean isDirectory()
boolean isFile()
boolean isHidden()
boolean canRead()
boolean canWrite()
2.5获取功能:
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串(总是全的)
String getName()
返回由此抽象路径名表示的文件或目录的名称
String getPath()
将此抽象路径名转换为一个路径名字符串(不一定全,看一开始)
String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
long length()
返回由此抽象路径名表示的文件的长度:字节数
long lastModified()
返回此抽象路径名表示的文件最后一次被修改的时间
String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的File对象
3.练习
练习1
获取某个盘符下的指定类型的文件信息 例:获取c盘下的所有jpg图片信息:大小,文件名 第一种思路: 1.封装文件对象 2.获得它所有子File对象数组 3.遍历这个数组并判断 第二种思路: 在获得数组之前,就进行判断,这样得到的数组就都是满足条件的了. 涉及到的接口:FilenameFilter
练习2
批量更改某个文件夹下的文件名 1.去掉某些标志 2.添加某些标志 思路: 1.封装目录成File对象 2.得到此对象下的所有File对象数组 3.遍历数组,并改名
练习3:
练习5
递归:recursive(1.要有出口 2.次数不能太多 3.构造方法不能递归)
样例:
1.递归求5的阶乘
2.不死神兔问题
3.递归查找某个目录下所有的txt文件
4.递归删除带内容的文件夹