java删除文件和文件夹具体实现_java

1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)
Java代码

复制代码 代码如下:

// 验证字符串是否为正确路径名的正则表达式 
private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*"; 
// 通过 sPath.matches(matches) 方法的返回值判断是否正确 
// sPath 为路径字符串 

2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件
Java代码

复制代码 代码如下:

/**
 *  根据路径删除指定的目录或文件,无论存在与否
 *@param sPath  要删除的目录或文件
 *@return 删除成功返回 true,否则返回 false。
 */ 
public boolean DeleteFolder(String sPath) { 
    flag = false; 
    file = new File(sPath); 
    // 判断目录或文件是否存在 
    if (!file.exists()) {  // 不存在返回 false 
        return flag; 
    } else { 
        // 判断是否为文件 
        if (file.isFile()) {  // 为文件时调用删除文件方法 
            return deleteFile(sPath); 
        } else {  // 为目录时调用删除目录方法 
            return deleteDirectory(sPath); 
        } 
    } 

3,实现删除文件的方法,
Java代码

复制代码 代码如下:

/**
 * 删除单个文件
 * @param   sPath    被删除文件的文件名
 * @return 单个文件删除成功返回true,否则返回false
 */ 
public boolean deleteFile(String sPath) { 
    flag = false; 
    file = new File(sPath); 
    // 路径为文件且不为空则进行删除 
    if (file.isFile() && file.exists()) { 
        file.delete(); 
        flag = true; 
    } 
    return flag; 

4,实现删除文件夹的方法,
Java代码

复制代码 代码如下:

/**
 * 删除目录(文件夹)以及目录下的文件
 * @param   sPath 被删除目录的文件路径
 * @return  目录删除成功返回true,否则返回false
 */ 
public boolean deleteDirectory(String sPath) { 
    //如果sPath不以文件分隔符结尾,自动添加文件分隔符 
    if (!sPath.endsWith(File.separator)) { 
        sPath = sPath + File.separator; 
    } 
    File dirFile = new File(sPath); 
    //如果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()); 
            if (!flag) break; 
        } //删除子目录 
        else { 
            flag = deleteDirectory(files[i].getAbsolutePath()); 
            if (!flag) break; 
        } 
    } 
    if (!flag) return false; 
    //删除当前目录 
    if (dirFile.delete()) { 
        return true; 
    } else { 
        return false; 
    } 

5,main() 方法
Java代码

复制代码 代码如下:

public static void main(String[] args) { 
    HandleFileClass hfc = new HandleFileClass(); 
    String path = "D:\\Abc\\123\\Ab1"; 
    boolean result = hfc.CreateFolder(path); 
    System.out.println(result); 
    path = "D:\\Abc\\124"; 
    result = hfc.DeleteFolder(path); 
    System.out.println(result); 

main() 方法只是做了一个简单的测试,建立文件夹和文件都是本地建立,情况考虑的应该很全面了,包括文件夹包含文件夹、文件。文件的不同情况…………
实现没有问题,可以正确删除文件夹和文件。

时间: 2024-10-27 17:46:00

java删除文件和文件夹具体实现_java的相关文章

实现Java删除一个集合的多个元素_java

问题 我需要从一个java的集合中,根据另一个集合的内容,删除第一个集合中不特定的元素.这看上去非常简单,但却遇到了问题. 这是我要写的方法的头部 private void screenBlackNameList(List<SharedBoardSmsWrapper> source, List<BlackNameListModel> blackNameList) 事情是这样子的.source集合中保存了一些显示用的数据元素.blackNameList集合中保存的是黑名单列表.我们需

java 删除非空文件夹

Java 中如何删除非空的目录呢? 使用递归,代码如下: Java代码   /***       * delete a directory/folder       *        * @param someFile       */       public static boolean deleteDir(File someFile) {           if (!someFile.exists()) {               System.out.println("[delet

Java中实现复制文件到文件,复制文件到文件夹,复制文件夹到文件,删除文件,删除文件夹,移动文件,移动文件夹的工具类

package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.swing.JOptionPane; /**  * CFMS :Computer f

java删除指定目录下所有空文件夹的方法_java

本文实例讲述了java删除指定目录下所有空文件夹的方法.分享给大家供大家参考,具体如下: package com.func; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 删除指定目录下的所有空文件夹 * * @author zdw * */ public class FileUtils { List<File> list = new ArrayList<File>();

Java创建、重命名、删除文件和文件夹(转)

Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了.如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归. 下面是的一个解决方案,借助Apache Commons IO工具包(commons-io-1.1.jar)来简单实现文件(夹)的复制.移动.删除.获取大小等操作.   import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefi

三款java删除文件夹实现方法

三款java删除文件夹实现方法第一款可以删除文件夹以及文件夹下的子目录与文件 ,后面两个实例只能删除文件夹了. import java.io.file; private void deletefile(file file){    if(file.exists()){     if(file.isfile()){      file.delete();     }else if(file.isdirectory()){      file files[] = file.listfiles();

java 删除文件夹中的所有内容而不删除文件夹本身的实例_java

实例如下: package com.xx; import java.io.File; public class Test { public static void main(String[] args) { String fileRoot = "C:/Users/xx/Desktop/xx/xxx"; delFolder(fileRoot); System.out.println("deleted"); } // // 删除完文件后删除文件夹 // // param

java删除文件 图片 与文件夹目录与文件

/** * 删除单个文件 * @param filename 要删除的文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolean deletefile(string filename) { file file = new file(filename); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if(file.exists() && file.isfile()) { if(file.delete

JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常重要的,我们先来看下他的基本概念 用于将文件或者文件夹封装成对象 方便对文件和文件夹的操作 File对象可以作为参数传递给流的构造函数 我们写个小例子先 package com.lgl.hellojava; import java.io.File; public class HelloJJAVA {