刪除文件夾(前提:文件夾為空以及InputStream和OutputStream等一些數(shù)據(jù)文件流關(guān)掉【close()】,否則文件無法刪除)
成都創(chuàng)新互聯(lián)專注于信州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供信州營銷型網(wǎng)站建設(shè),信州網(wǎng)站制作、信州網(wǎng)頁設(shè)計、信州網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造信州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供信州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
//刪除文件夾
public?static?void?delFolder(String?folderPath)?{
try?{
delAllFile(folderPath);?//刪除完里面所有內(nèi)容
String?filePath?=?folderPath;
filePath?=?filePath.toString();
java.io.File?myFilePath?=?new?java.io.File(filePath);
myFilePath.delete();?//刪除空文件夾
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
刪除指定文件夾下的所有文件
public?static?boolean?delAllFile(String?path)?{
boolean?flag?=?false;
File?file?=?new?File(path);
if?(!file.exists())?{
return?flag;
}
if?(!file.isDirectory())?{
return?flag;
}
String[]?tempList?=?file.list();
File?temp?=?null;
for?(int?i?=?0;?i??tempList.length;?i++)?{
if?(path.endsWith(File.separator))?{
temp?=?new?File(path?+?tempList[i]);
}?else?{
temp?=?new?File(path?+?File.separator?+?tempList[i]);
}
if?(temp.isFile())?{
temp.delete();
}
if?(temp.isDirectory())?{
delAllFile(path?+?"/"?+?tempList[i]);//先刪除文件夾里面的文件
delFolder(path?+?"/"?+?tempList[i]);//再刪除空文件夾
flag?=?true;
}
}
return?flag;
}
}
刪除文件夾下的所有文件需要用到j(luò)ava.io.File類的各個方法,并需要使用簡單的遞歸算法。
示例代碼如下:
import java.io.File;
public class Test
{
public static void main(String args[]){
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}
//刪除文件夾
//param folderPath 文件夾完整絕對路徑
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //刪除完里面所有內(nèi)容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //刪除空文件夾
} catch (Exception e) {
e.printStackTrace();
}
}
//刪除指定文件夾下所有文件
//param path 文件夾完整絕對路徑
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先刪除文件夾里面的文件
delFolder(path + "/" + tempList[i]);//再刪除空文件夾
flag = true;
}
}
return flag;
}
}
1、如果只是想要文件中的內(nèi)容,可以使用如下代碼:
FileOutputStream?fs?=?new?FileOutputStream(new?File("C:\\buyterms.txt"));
2、如果是想要文件夾中的內(nèi)容,可以使用如下代碼:
package?com.xx;??
import?java.io.File;??
public?class?Test?{??
public?static?void?main(String[]?args)?{??
String?fileRoot?=?"C:/Users/xx/Desktop/xx/xxx";??
delFolder(fileRoot);??
System.out.println("deleted");??
}??
//??//?刪除完文件后刪除文件夾??
//??//?param?folderPath?文件夾完整絕對路徑??
public?static?void?delFolder(String?folderPath)?{??
try?{??
delAllFile(folderPath);?//?刪除完里面所有內(nèi)容??
//不想刪除文佳夾隱藏下面??
//??????????String?filePath?=?folderPath;??
//??????????filePath?=?filePath.toString();??
//??????????java.io.File?myFilePath?=?new?java.io.File(filePath);??
//??????????myFilePath.delete();?//?刪除空文件夾??
}?catch?(Exception?e)?{??
e.printStackTrace();??
}??
}??
//?刪除指定文件夾下所有文件??
//?param?path?文件夾完整絕對路徑??
public?static?boolean?delAllFile(String?path)?{??
boolean?flag?=?false;??
File?file?=?new?File(path);??
if?(!file.exists())?{??
return?flag;??
}??
if?(!file.isDirectory())?{??
return?flag;??
}??
String[]?tempList?=?file.list();??
File?temp?=?null;??
for?(int?i?=?0;?i??tempList.length;?i++)?{??
if?(path.endsWith(File.separator))?{??
temp?=?new?File(path?+?tempList[i]);??
}?else?{??
temp?=?new?File(path?+?File.separator?+?tempList[i]);??
}??
if?(temp.isFile())?{??
temp.delete();??
}??
if?(temp.isDirectory())?{??
delAllFile(path?+?"/"?+?tempList[i]);//?先刪除文件夾里面的文件??
//??????????????delFolder(path?+?"/"?+?tempList[i]);//?再刪除空文件夾??
flag?=?true;??
}??
}??
return?flag;??
}??
}
package?image;
import?java.io.File;
public?class?Test?{
public?static?void?main(String[]?args)?{
String?url?=?"";????//?文件路徑
//?根據(jù)路徑獲取文件對象
File?file?=?new?File(url);
//?判斷文件是否存在
if?(file.exists())?{
//?文件刪除
file.delete();
}
}
}
文件路徑要自己獲取
代碼如下,使用遞歸進行刪除
import?java.io.File;
public?class?Main?{
public?static?void?main(String[]?args)?{
//待刪除文件夾所在目錄,例如要刪除桌面上所有空文件夾,則該變量應(yīng)該為桌面路徑全部刪除
String?deletePath?=?"G:/test/";
delete(new?File(deletePath));
}
public?static?void?delete(File?file)?{
if?(file.isDirectory())?{
File[]?childs?=?file.listFiles();
if?(childs.length?==?0)?{
File?parent?=?file.getParentFile();
file.delete();
if?(parent.listFiles().length?==?0)?{
parent.delete();
}
}?else?{
for?(File?child?:?childs)?{
delete(child);
}
}
}
}
}