Java IO,io,文件操做,刪除文件,刪除文件夾,獲取文件父級目錄

Java IO,io,文件操做,刪除文件,刪除文件夾,獲取文件父級目錄

這裏先簡單的貼下經常使用的方法:html

File.separator          //當前系統文件分隔符  
File.pathSeparator      //

File f = new File("testFile.txt");
f.createNewFile();
f.exists()
f.delete();
f.mkdir();
f.list();
f.listFiles();
f.isDirectory()

刪除文件以及文件夾

刪除單個文件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;
}

刪除文件夾.net

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

開放方法,可傳入文件或文件夾路徑code

/**
 *  根據路徑刪除指定的目錄或文件,不管存在與否
 *@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"htm

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

輸出結果:d:\fatherDir\childrenDir\secondDir對象

2.相對路徑獲取blog

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

輸出結果:nullget

也就是說,只有絕對路徑使用getParent()方法能夠獲取到父級目錄路徑。
如何獲取相對路徑父級目錄?it

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

經過getAbsolutePath()獲取相對目錄的絕對路徑給新File對象,而後在調用getParent()io

相關連接

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()區別

相關文章
相關標籤/搜索