File 练习代码
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
//构造方法添加相对路径
File file =new File("./CreateFile.txt");
File dir = new File("./CreateDirectory");
File dirs = new File("./CreateDirectory/a/b/c/d");
//file.exists()方法判断文件是否存在
if(file.exists()) {
//file.getName()获取文件的名称
System.out.println(file.getName());
//file.length() 文件的大小
System.out.println(file.length());
//file.canRead() 文件是否可读
System.out.println(file.canRead());
//file.canWrite() 文件是否可写
System.out.println(file.canWrite());
//file.isHidden() 文件是否隐藏
System.out.println(file.isHidden());
System.out.println("文件存在");
System.out.println("-------");
//file.delete() 删除文件
file.delete();
System.out.println("文件已删除");
}else{
System.out.println("文件不存在");
//file.createNewFile() 创建文件
file.createNewFile();
System.out.println("文件已创建");
}
if(dir.exists()) {
//dir.isFile() 判断是否为文件
System.out.println(dir.isFile());
//dir.isDirectory 判断是否为目录
System.out.println(dir.isDirectory());
//删除目录 目录必须为空目录
dir.delete();
System.out.println("目录已删除");
}else{
System.out.println("目录不存在");
//dir.mkdir() 创建一级目录
dir.mkdir();
System.out.println("目录已创建");
}
if(dirs.exists()){
//dirs.listFiles() 获取当前目录中的所有子项
File[] subs = dirs.listFiles();
for(int i=0;i<subs.length;i++) {
File sub = subs[i];
System.out.println(sub.getName());
}
//调用递归删除多级目录 不建议这样操作
delete(rmdirs);
}else{
System.out.println("多级目录不存在");
//dirs.mkdirs() 创建一个多级目录
dirs.mkdirs();
System.out.println("多级目录已创建");
}
}
//使用递归清空目录中的所有子项再删除目录
public static void delete(File f) {
if(f.isDirectory()) {
//先清空该目录
File[] subs = f.listFiles();
for(int i=0;i<subs.length;i++) {
File sub = subs[i];
//递归调用
delete(sub);
}
}
f.delete();
}
}
File的作用:
- 每一个实例对于硬盘上的一个文件或目录
- 获取文件或目录的属性信息
- 对文件或目录进行创建/删除
- 查询目录中的子文件或者子目录,不能查看文件中的内容