Java基础 - File(文件操作)
列出的为较为常用的相关知识,因为我也是一名小白,所以希望能够通过博客来督促自己学习,若有错误请联系我!!!希望能够一起共同进步,共同成长!
File类位于 Java.io.File包中
File可以:
- 访问其表示的文件或目录的属性(名字,大小等)
- 创建,删除文件或目录
- 访问一个目录中的子项
注意:不能访问文件数据
使用:
File file = new File("path"); // -> path 相对路径或绝对路径
File常用的API:
file.getName(); // -> 获取文件名
file.length(); // -> 获取文件大小(字节)
file.getAbsolutePath(); // -> 获取文件的绝对路径
file.canRead(); // -> 是否可读 - 返回boolean
file.canWrite(); // -> 是否可写 - 返回boolean
file.isHidden(); // -> 隐藏文件 - 返回boolean
file.exists(); // -> 文件是否存在 - 返回boolean
file.createNewFile(); // -> 创建文件
file.delete(); // -> 删除文件
File dir = new File("./dome");
file.mkdir(); // -> 创建目录
File dir = new File("./dome/a/b/c/d");
file.mkdirs(); // -> 创建多级目录
dir.deletes(); // -> 删除目录(目录需要为空)
dir.listFiles(); // -> 获取目录中所有文件 - 返回File[]
file.isFile(); // -> 判断是否为文件 - 返回boolean
file.isDirectory(); // -> 判断是否为文件夹 - 返回boolean
删除目录和目录中的文件方法:
public void delete(File file){
if(file.isDirectory()){
// 先将目录清空
File[] subs = file.listFiles();
for(int i=0;i<subs.length;i++){
File sub = subs[i];
delete(sub);
}
}
file.delete(); // 是文件直接删除
}
获取目录下指定的子文件:
public static void main(String[] args) {
File dir = new File(".");
if(dir.isDirectory()){
MyFilter filter = new MyFilter(){
public boolean accept(File file){
return file.getName.startsWith("xxx"); // 过滤name中xxx的name
}
};
File() subs = dir.listFiles(filter); // 回调模式(自己调用accept方法)
}
}