目录
- File类目录操作
- 实例
File类目录操作
Java的File
类提供了对文件和目录进行操作的方法。对于目录,File
类提供了以下一些方法:
- 判断目录是否存在:使用
exists()
方法可以判断目录是否存在。 - 创建目录:使用
mkdir()
或mkdirs()
方法可以创建目录。mkdir()
方法只能创建一级目录,而mkdirs()
方法可以创建多级目录。 - 删除目录:使用
delete()
方法可以删除目录。注意,这个方法会删除目录及其所有内容。 - 列出目录内容:使用
list()
或listFiles()
方法可以获取目录下的文件和子目录列表。 - 获取目录大小:使用
length()
方法可以获取目录的大小(以字节为单位)。
下面是一些示例代码,展示了如何使用File
类对目录进行操作:
import java.io.File;
public class DirectoryExample {
public static void main(String[] args) {
// 创建一个File对象表示目录
File directory = new File("exampleDir");
// 判断目录是否存在
if (directory.exists()) {
System.out.println("Directory exists.");
} else {
// 创建目录
if (directory.mkdir()) {
System.out.println("Directory created successfully.");
} else {
System.out.println("Failed to create directory.");
}
}
// 列出目录内容
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
System.out.println(file.getName());
}
}
}
}
请注意,处理文件和目录时,应确保代码的异常处理和安全性。在操作文件和目录时,可能会遇到各种错误和异常情况,因此应该妥善处理这些情况。
实例
import java.io.File;
public class Test02 {
//这是一个main方法,是程序的入口:
public static void main(String[] args) {
//将目录封装为File类的对象:
File f = new File("D:\\IDEA_workspace");
System.out.println("文件是否可读:"+f.canRead());
System.out.println("文件是否可写:"+f.canWrite());
System.out.println("文件的名字:"+f.getName());
System.out.println("上级目录:"+f.getParent());
System.out.println("是否是一个目录:"+f.isDirectory());
System.out.println("是否是一个文件:"+f.isFile());
System.out.println("是否隐藏:"+f.isHidden());
System.out.println("文件的大小:"+f.length());
System.out.println("是否存在:"+f.exists());
System.out.println("绝对路径:"+f.getAbsolutePath());
System.out.println("相对路径:"+f.getPath());
System.out.println("toString:"+f.toString());
//跟目录相关的方法:
File f2 = new File("D:\\a\\b\\c");
//创建目录:
//f2.mkdir();//创建单层目录
//f2.mkdirs();//创建多层目录
//删除:如果是删除目录的话,只会删除一层,并且前提:这层目录是空的,里面没有内容,如果内容就不会被删除
f2.delete();
//查看:
String[] list = f.list();//文件夹下目录/文件对应的名字的数组
for(String s:list){
System.out.println(s);
}
System.out.println("=========================");
File[] files = f.listFiles();//作用更加广泛
for(File file:files){
System.out.println(file.getName()+","+file.getAbsolutePath());
}
}
}