Java 基础【13】 文件(文件夹) 创建和删除

时间:2023-03-09 08:50:44
Java 基础【13】 文件(文件夹) 创建和删除

使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节。

比如 File 类中的 mkdir() 和 mkdirs() 的区别。

JDK API 中描述:

Java 基础【13】 文件(文件夹) 创建和删除

来段代码会看的更清楚:

        File file1 = new File("F:/AAA/BBB/CCC");
if (file1.mkdirs()) {
System.out.println("多级层文件夹创建成功!创建后的文件目录为:" + file1.getPath() + ",上级文件为:" + file1.getParent());
} File file2 = new File("F:/AAA/BBB/CCC/DDD");
if (file2.mkdir()) {
System.out.println("单文件夹 DDD 创建成功!创建后的文件目录为:" + file2.getPath() + ",上级文件为:" + file2.getParent());
} File file3 = new File("F:/AAA/BBB/CCC/DDD","mytest.txt");
try {
if (file3.createNewFile()) {
System.out.println("多级层文件夹下文件创建成功!创建了的文件为:" + file3.getAbsolutePath() + ",上级文件为:" + file3.getParent());
}
} catch (IOException e) {
e.printStackTrace();
}

输出:

Java 基础【13】 文件(文件夹) 创建和删除

这样就很清楚了,mkdir() 创建单个文件夹,要确保它的上级文件夹存在。

mkdirs() 创建多个文件夹,并且不需要保证它的上级文件夹存在。

将文件输出到文件夹下要确保目标文件夹存在。

【附赠】递归删除整个文件夹(文件)方法:

    /**
* 删除某个文件夹下的所有文件夹和文件
*
* @param delpath
* @throws FileNotFoundException IOException
* @return boolean
*/
public static boolean deletefile(String delpath) throws Exception {
File file = new File(delpath);
if (file.isDirectory()) {
String[] filelist = file.list();
for (String delFile : filelist) {
File delfile = new File(delpath + File.separator + delFile);
if (delfile.isDirectory()) {
deletefile(delpath + File.separator + delFile);
} else
System.out.println("正在删除文件:" + delfile.getPath() + ",删除是否成功:" + delfile.delete());
}
System.out.println("正在删除空文件夹:" + file.getPath() + ",删除是否成功:" + file.delete());
} else
System.out.println("正在删除文件:" + file.getPath() + ",删除是否成功:" + file.delete());
return true;
}