是文件和目录的类,用于其创建删除查找等工作
File类静态成员变量
14个静态2变量,其中2个是返回字符串,带Char结尾的是返回字符,路径分割符合系统默认分割符有什么区别,这里以windows为例示范下
2可以看到路径分割符是;分号,我们设置环境变量,不同路径使用分号分割,默认分割符是路径内部文件夹层级的分割,这里是反斜杠
而linux里,路径分割是:冒号,默认分割是/正斜杠
绝对路径和相对路径
3具体就不赘述了,和python一样,不过需要使用双\\表示\,注意路径这里不区分大小写
构造方法
4构造方法可以传递路径字符串,
5当然上面代码的路径是不存在的
6当然File类重写了toString方法,我们打印就是打印传入的路径
当然构造方法还有重载File(String parent,String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新File实例。
7感觉本质就是字符串拼接
File(File parent,String child)根据 parent 抽象路径名和 child 路径名字符串创建一个新File实例。
8这个表面看来是和上面的一样,其实父路径使用File类实例,是因为其有很多内置方法,方便我们修改创建路径
File类常用方法
其方法有很多,主要分为3类,获取,判断,删除方法
获取方法
9其中getAbsolutePath返回的是绝对路径,无论你构造时传入的是相对的还是绝对的,(如果没有文件默认绝对路径为相对当前项目)
getName,getPath返回的是构造传入的路径,
length()是返回文件长度,没有实际文件时,会默认大小0(文件夹计算不包括文件,也是0)
10上面是传递存在的路径,效果如上
11传递不存在的路径,效果如上
判断方法
123个方法都是返回布尔值,判断是否存在,是否为目录,是否为文件
13注意,对于不存在对象,既不是文件也不是目录
创建删除方法
14方法如上
15创建文件夹,代码如上
16效果如上
mkdirs创建嵌套的文件夹,2个方法都是不存在,返回true并创建,否则返回false
17 18如上,可以看到嵌套文件夹效果
19创建文件如上,文件不存在返回True并创建,存在返回False,路径必须存在,否则会抛出异常,IDE也要求throws
20文件删除效果如上,有对象则返回True,成功删除,没有则返回false
遍历方法
21list()方法返回String数组,listFiles()返回File数组,这个file对象必须开始目录,不存在或者是文件抱空指针异常
22使用list()方法如上,我们打印一个视频文件夹- -
23如上是使用listFiles(),注意返回的是File对象数组
24对于不存在的文件夹遍历,抱空指针异常
网友评论