這里先簡(jiǎn)單的貼下常用的方法:
File.separator //當(dāng)前系統(tǒng)文件分隔符 File.pathSeparator//File f = new File("testFile.txt");f.createNewFile();f.exists()f.delete();f.mkdir();f.list();f.listFiles();f.isDirectory()
刪除文件以及文件夾刪除單個(gè)文件
/** * 刪除單個(gè)文件 * @param sPath 被刪除文件的文件名 * @return 單個(gè)文件刪除成功返回true,否則返回false */public boolean deleteFile(String sPath) { flag = false; file = new File(sPath); // 路徑為文件且不為空則進(jìn)行刪除 if (file.isFile() && file.exists()) { file.delete(); flag = true; } return flag;}
刪除文件夾
`Java`/** * 刪除目錄(文件夾)以及目錄下的文件 * @param sPath 被刪除目錄的文件路徑 * @return 目錄刪除成功返回true,否則返回false */public boolean deleteDirectory(String sPath) { //如果sPath不以文件分隔符結(jié)尾,自動(dòng)添加文件分隔符 if (!sPath.endsWith(File.separator)) { sPath = sPath + File.separator; } File dirFile = new File(sPath); //如果dir對(duì)應(yīng)的文件不存在,或者不是一個(gè)目錄,則退出 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; //刪除當(dāng)前目錄 if (dirFile.delete()) { return true; } else { return false; }}
開放方法,可傳入文件或文件夾路徑
/** * 根據(jù)路徑刪除指定的目錄或文件,無論存在與否 *@param sPath 要?jiǎng)h除的目錄或文件 *@return 刪除成功返回 true,否則返回 false。 */public boolean DeleteFolder(String sPath) { flag = false; file = new File(sPath); // 判斷目錄或文件是否存在 if (!file.exists()) { // 不存在返回 false return flag; } else { // 判斷是否為文件 if (file.isFile()) { // 為文件時(shí)調(diào)用刪除文件方法 return deleteFile(sPath); } else { // 為目錄時(shí)調(diào)用刪除目錄方法 return deleteDirectory(sPath); } }}
獲取文件(夾)的父目錄1.絕對(duì)路徑獲取假設(shè)路徑為:"d://fatherDir/childrenDir/secondDir/thirdDir"
File f = new File("d://fatherDir/childrenDir/secondDir/thirdDir");System.out.PRintln(f.getParent());//d:/fatherDir/childrenDir/secondDir
輸出結(jié)果:d:/fatherDir/childrenDir/secondDir
2.相對(duì)路徑獲取
File f = new File("thirdDir");System.out.println(f.getParent());//null
輸出結(jié)果:null
也就是說,只有絕對(duì)路徑使用getParent()
方法可以獲取到父級(jí)目錄路徑。如何獲取相對(duì)路徑父級(jí)目錄?
File f = new File("thirdDir");File ff = new File(f.getAbsolutePath());String copyPath = ff.getParentFile().getParent() + File.separator + "basdata";
通過getAbsolutePath()
獲取相對(duì)目錄的絕對(duì)路徑給新File
對(duì)象,然后在調(diào)用getParent()
。
http://kxjhlele.VEvb.com/blog/323657java中的IO整理http://www.survivalescaperooms.com/oubo/archive/2012/01/06/2394638.htmlhttp://www.zaojiahua.com/1453.htmlJava getPath() getAbsolutePath() getCanonicalPath()區(qū)別
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注