Java23 File
创建对象:(注意:文件路径需要转义)
为什么不手动拼接字符串?因为在linux上不是\
默认相对路径的起点:当前项目.
成员方法:
判断获取:
如果isFile返回的是false,那么就是文件夹吗?不一定,因为还可能路径不存在.
length方法的细节:只能返回文件的大小.如果对文件夹调用,那么win下返回0,linux下返回4096.
得到绝对路径:
获取名字:
修改时间lastModified:
返回的是时间戳.
创建删除
createNewFile:成功返回true.创建失败返回false
另外,这个方法会抛出编译期异常,编译时就需要处理.

mkdir细节:
所谓单级,就是父路径是已经存在的一个文件夹.
如果路径已经存在,那么就会创建失败.
删除:
这个只有返回值,没有异常抛出.
获取遍历:
细节:

其实有很多方法,但除了listFiles,其余都是了解性的:
listroots:获取系统中所有的盘符:
注意这是静态方法.
也等价于:

另外的重载:
filenameFilter的区别就是参数把文件拆开了:

如果文件夹里还有文件夹要处理,那么就递归:
这样写有bug:files数组是可能是空的(如遇见了有需要权限的文件),因此稍微修改一下即可.
删除多级文件夹(可能文件夹有内容)
当然,注意要判空.