這裏先簡單的貼下經常使用的方法: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()區別