• 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:fatherDirchildrenDirsecondDir
    

    输出结果:d:fatherDirchildrenDirsecondDir

    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.iteye.com/blog/323657
    java中的IO整理
    http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html
    http://www.zaojiahua.com/1453.html
    Java getPath() getAbsolutePath() getCanonicalPath()区别

  • 相关阅读:
    thusc总结
    5.12总结
    5.9总结
    C语言学习之笔记
    C语言----------指针
    typedef , static和 extern
    数据库(mysql5.5)的一些基本的操作
    Java中基本数据类型占几个字节多少位
    java &和&& 以及 |和 ||之间的异同点
    拨开云雾见月明
  • 原文地址:https://www.cnblogs.com/jsrtech/p/4386324.html
Copyright © 2020-2023  润新知