Java基础 -- 文件操作
Java基础 -- 文件操作
Java中不管是目录还是文件均使用File类表示,因此在使用File操作目录和文件时需要对File进行判断,使用方法:file.isDirectory()和file.isFile()
创建目录
Java中创建目录使用file.mkdirs()实现
/**
* 创建目录
* @param path
*/
private static void makeDirs(String path) {
// 创建File对象
final File dir = new File(path);
// 创建目录
dir.mkdirs();
}
创建文件
Java中创建文件使用file.createNewFile()实现
private static void makeFiles(String path) throws IOException {
File dir = new File(path);
if (dir.isDirectory()) {
while(dir != null) {
final File file = new File(dir + "/test.txt");
if (file.createNewFile()) {
System.out.println("创建文件" + file.getName() + "成功");
} else {
System.out.println("创建文件" + file.getName() + "失败");
}
dir = dir.getParentFile();
}
}
}
遍历目录
遍历目录过程中,需要对子目录进行迭代遍历,通过递归调用遍历函数实现;如果是文件则直接打印即可
/**
* 遍历目录
* @param path
*/
private static void listDir(String path) {
// 创建File对象
final File dir = new File(path);
// 遍历目录
if (dir.isDirectory()) {
final File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
// 如果是目录,则继续遍历
System.out.println(file + " is a directory");
listDir(file.getPath());
} else {
System.out.println(file + " is a file");
}
}
}
}
删除目录及文件
删除目录过程中,对于子目录的删除通过递归调用删除函数实现;如果是文件则直接删除
/**
* 删除目录及文件
* @param path
*/
private static void deleteDir(String path) {
final File dir = new File(path);
// 删除子目录及文件
final File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
// 删除目录
deleteDir(file.getPath());
} else {
// 删除文件
file.delete();
}
}
}
// 删除当前目录
dir.delete();
}
对于目录删除逻辑而言,只有在完成当前目录的子目录及文件删除操作之后,才对当前目录执行删除操作。
By Persistence, To Success

浙公网安备 33010602011771号