如题所述
Java语言,删除一个空文件夹:
import java.io.File;class DeleteDir {
public static void main(String args[]) {
deleteDirectory(new File(args[0]));
}
static public boolean deleteDirectory(File path) {
if( path.exists() ) { //判断是否为空
File[] files = path.listFiles();
for(int i=0; i<files.length; i++) {//如果不为空不删除
if(files[i].isDirectory()) {
deleteDirectory(files[i]);
}
else {//执行删除
files[i].delete();
}
}
}
return( path.delete() );
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-01-10
删除文件夹下的所有文件需要用到java.io.File类的各个方法,并需要使用简单的递归算法。
代码如下:
import java.io.File;
public class Test
{
public static void main(String args[]){
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}
//删除文件夹
//param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
//删除指定文件夹下所有文件
//param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);//再删除空文件夹
flag = true;
}
}
return flag;
}
}
代码如下:
import java.io.File;
public class Test
{
public static void main(String args[]){
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}
//删除文件夹
//param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
//删除指定文件夹下所有文件
//param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);//再删除空文件夹
flag = true;
}
}
return flag;
}
}
第2个回答 2014-09-19
/**
* 删除空文件夹
* @param filePath 文件路劲
*/
private void deleteEmptyDir(String filePath){
File file=new File(filePath);
if(file.isDirectory()){
File[] subFiles=file.listFiles();
if(subFiles!=null&&subFiles.length>0){
for(int i=0;i<subFiles.length;i++){
deleteEmptyDir(subFiles[i].getPath());
}
}else{
if(file.delete()){
System.out.println("删除空文件夹成功!");
}else{
System.out.println("删除空文件夹失败!");
}
}
}
}本回答被网友采纳
* 删除空文件夹
* @param filePath 文件路劲
*/
private void deleteEmptyDir(String filePath){
File file=new File(filePath);
if(file.isDirectory()){
File[] subFiles=file.listFiles();
if(subFiles!=null&&subFiles.length>0){
for(int i=0;i<subFiles.length;i++){
deleteEmptyDir(subFiles[i].getPath());
}
}else{
if(file.delete()){
System.out.println("删除空文件夹成功!");
}else{
System.out.println("删除空文件夹失败!");
}
}
}
}本回答被网友采纳
第3个回答 2014-09-19
要是问 编写一个太麻烦了 你可以问步骤