首页 > 学院 > 开发设计 > 正文

Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

2019-11-14 23:35:20
字体:
来源:转载
供稿:网友
java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

这里先简单的贴下常用的方法:

File.separator //当前系统文件分隔符  File.pathSeparator//File f = new File("testFile.txt");f.createNewFile();f.exists()f.delete();f.mkdir();f.list();f.listFiles();f.isDirectory()
删除文件以及文件夹

删除单个文件

/** * 删除单个文件 * @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;}

删除文件夹

`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;    }}

开放方法,可传入文件或文件夹路径

/** *  根据路径删除指定的目录或文件,无论存在与否 *@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);        }    }}
获取文件(夹)的父目录

1.绝对路径获取假设路径为:"d://fatherDir/childrenDir/secondDir/thirdDir"

File f = new File("d://fatherDir/childrenDir/secondDir/thirdDir");System.out.PRintln(f.getParent());//d:/fatherDir/childrenDir/secondDir

输出结果:d:/fatherDir/childrenDir/secondDir

2.相对路径获取

File f = new File("thirdDir");System.out.println(f.getParent());//null

输出结果:null

也就是说,只有绝对路径使用getParent()方法可以获取到父级目录路径。如何获取相对路径父级目录?

File f = new File("thirdDir");File ff = new File(f.getAbsolutePath());String copyPath = ff.getParentFile().getParent() + File.separator + "basdata";

通过getAbsolutePath()获取相对目录的绝对路径给新File对象,然后在调用getParent()

相关链接

http://kxjhlele.VEvb.com/blog/323657java中的IO整理http://www.VEVb.com/oubo/archive/2012/01/06/2394638.htmlhttp://www.zaojiahua.com/1453.htmlJava getPath() getAbsolutePath() getCanonicalPath()区别


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表