java 文件夹删除_Java删除文件夹和文件
以前在javaeye看到過關(guān)于Java操作文件的一篇文章,寫的很好,但找了半天也沒找到,就把找到底幾篇文章整理一下,做個(gè)總結(jié),算是一個(gè)學(xué)習(xí)備份……
1,驗(yàn)證傳入路徑是否為正確的路徑名(Windows系統(tǒng),其他系統(tǒng)未使用)
Java代碼
//?驗(yàn)證字符串是否為正確路徑名的正則表達(dá)式
private?static?String?matches?=?"[A-Za-z]:\\\\[^:?\">
//?通過?sPath.matches(matches)?方法的返回值判斷是否正確
//?sPath?為路徑字符串
2,通用的文件夾或文件刪除方法,直接調(diào)用此方法,即可實(shí)現(xiàn)刪除文件夾或文件,包括文件夾下的所有文件
Java代碼
/**
*??根據(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);
}
}
}
3,實(shí)現(xiàn)刪除文件的方法,
Java代碼
/**
*?刪除單個(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;
}
4,實(shí)現(xiàn)刪除文件夾的方法,
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對應(yīng)的文件不存在,或者不是一個(gè)目錄,則退出
if?(!dirFile.exists()?||?!dirFile.isDirectory())?{
return?false;
}
flag?=?true;
//刪除文件夾下的所有文件(包括子目錄)
File[]?files?=?dirFile.listFiles();
for?(int?i?=?0;?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;
}
}
5,main() 方法
Java代碼
public?static?void?main(String[]?args)?{
HandleFileClass?hfc?=?new?HandleFileClass();
String?path?=?"D:\\Abc\\123\\Ab1";
boolean?result?=?hfc.CreateFolder(path);
System.out.println(result);
path?=?"D:\\Abc\\124";
result?=?hfc.DeleteFolder(path);
System.out.println(result);
}
main() 方法只是做了一個(gè)簡單的測試,建立文件夾和文件都是本地建立,情況考慮的應(yīng)該很全面了,包括文件夾包含文件夾、文件。文件的不同情況…………
實(shí)現(xiàn)沒有問題,可以正確刪除文件夾和文件。
對于其他類型文件的操作繼續(xù)學(xué)習(xí)…………
總結(jié)
以上是生活随笔為你收集整理的java 文件夹删除_Java删除文件夹和文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Appium wait等待的三种方法
- 下一篇: Java捕获并处理线程失败抛出的异常