java建立文件夹删除文件夹_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具...

package com.file;

import java.io.File;

import java.io.IOException;

//创建新文件和目录

public class CCRDFile {

// 验证字符串是否为正确路径名的正则表达式

private static String matches = "[A-Za-z]:\\\\[^:?\">

// 通过 sPath.matches(matches) 方法的返回值判断是否正确

// sPath 为路径字符串

boolean flag = false;

File file;

public boolean DeleteFolder(String deletePath) {// 根据路径删除指定的目录或文件,无论存在与否

flag = false;

if (deletePath.matches(matches)) {

file = new File(deletePath);

if (!file.exists()) {// 判断目录或文件是否存在

return flag; // 不存在返回 false

} else {

if (file.isFile()) {// 判断是否为文件

return deleteFile(deletePath);// 为文件时调用删除文件方法

} else {

return deleteDirectory(deletePath);// 为目录时调用删除目录方法

}

}

} else {

System.out.println("要传入正确路径!");

return false;

}

}

public boolean deleteFile(String filePath) {// 删除单个文件

flag = false;

file = new File(filePath);

if (file.isFile() && file.exists()) {// 路径为文件且不为空则进行删除

file.delete();// 文件删除

flag = true;

}

return flag;

}

public boolean deleteDirectory(String dirPath) {// 删除目录(文件夹)以及目录下的文件

// 如果sPath不以文件分隔符结尾,自动添加文件分隔符

if (!dirPath.endsWith(File.separator)) {

dirPath = dirPath + File.separator;

}

File dirFile = new File(dirPath);

// 如果dir对应的文件不存在,或者不是一个目录,则退出

if (!dirFile.exists() || !dirFile.isDirectory()) {

return false;

}

flag = true;

File[] files = dirFile.listFiles();// 获得传入路径下的所有文件

for (int i = 0; i < files.length; i++) {// 循环遍历删除文件夹下的所有文件(包括子目录)

if (files[i].isFile()) {// 删除子文件

flag = deleteFile(files[i].getAbsolutePath());

System.out.println(files[i].getAbsolutePath() + " 删除成功");

if (!flag)

break;// 如果删除失败,则跳出

} else {// 运用递归,删除子目录

flag = deleteDirectory(files[i].getAbsolutePath());

if (!flag)

break;// 如果删除失败,则跳出

}

}

if (!flag)

return false;

if (dirFile.delete()) {// 删除当前目录

return true;

} else {

return false;

}

}

// 创建单个文件

public static boolean createFile(String filePath) {

File file = new File(filePath);

if (file.exists()) {// 判断文件是否存在

System.out.println("目标文件已存在" + filePath);

return false;

}

if (filePath.endsWith(File.separator)) {// 判断文件是否为目录

System.out.println("目标文件不能为目录!");

return false;

}

if (!file.getParentFile().exists()) {// 判断目标文件所在的目录是否存在

// 如果目标文件所在的文件夹不存在,则创建父文件夹

System.out.println("目标文件所在目录不存在,准备创建它!");

if (!file.getParentFile().mkdirs()) {// 判断创建目录是否成功

System.out.println("创建目标文件所在的目录失败!");

return false;

}

}

try {

if (file.createNewFile()) {// 创建目标文件

System.out.println("创建文件成功:" + filePath);

return true;

} else {

System.out.println("创建文件失败!");

return false;

}

} catch (IOException e) {// 捕获异常

e.printStackTrace();

System.out.println("创建文件失败!" + e.getMessage());

return false;

}

}

// 创建目录

public static boolean createDir(String destDirName) {

File dir = new File(destDirName);

if (dir.exists()) {// 判断目录是否存在

System.out.println("创建目录失败,目标目录已存在!");

return false;

}

if (!destDirName.endsWith(File.separator)) {// 结尾是否以"/"结束

destDirName = destDirName + File.separator;

}

if (dir.mkdirs()) {// 创建目标目录

System.out.println("创建目录成功!" + destDirName);

return true;

} else {

System.out.println("创建目录失败!");

return false;

}

}

// 创建临时文件

public static String createTempFile(String prefix, String suffix,

String dirName) {

File tempFile = null;

if (dirName == null) {// 目录如果为空

try {

tempFile = File.createTempFile(prefix, suffix);// 在默认文件夹下创建临时文件

return tempFile.getCanonicalPath();// 返回临时文件的路径

} catch (IOException e) {// 捕获异常

e.printStackTrace();

System.out.println("创建临时文件失败:" + e.getMessage());

return null;

}

} else {

// 指定目录存在

File dir = new File(dirName);// 创建目录

if (!dir.exists()) {

// 如果目录不存在则创建目录

if (CCRDFile.createDir(dirName)) {

System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");

return null;

}

}

try {

tempFile = File.createTempFile(prefix, suffix, dir);// 在指定目录下创建临时文件

return tempFile.getCanonicalPath();// 返回临时文件的路径

} catch (IOException e) {// 捕获异常

e.printStackTrace();

System.out.println("创建临时文件失败!" + e.getMessage());

return null;

}

}

}

public static void main(String[] args) {

String dirName = "E:/createFile/";// 创建目录

CCRDFile.createDir(dirName);// 调用方法创建目录

String fileName = dirName + "/file1.txt";// 创建文件

CCRDFile.createFile(fileName);// 调用方法创建文件

String prefix = "temp";// 创建临时文件

String surfix = ".txt";// 后缀

for (int i = 0; i < 10; i++) {// 循环创建多个文件

System.out.println("创建临时文件: "// 调用方法创建临时文件

+ CCRDFile.createTempFile(prefix, surfix,

dirName));

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值