java刪除文件夾,java刪除文件夾下所有文件

本文目錄一覽:

java中怎麼刪除整個文件夾

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;

}

}

java 中的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); //刪除完裡面所有內容

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;

}

}

java中如何刪除本地文件夾以及文件

刪除文件夾(前提:文件夾為空以及InputStream和OutputStream等一些數據文件流關掉【close()】,否則文件無法刪除)

//刪除文件夾

public static void delFolder(String folderPath) {

try {

delAllFile(folderPath); //刪除完裡面所有內容

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;

}

}

java文件刪除

java刪除文件或文件夾的具體步驟:

1、驗證傳入路徑是否為正確的路徑名(Windows系統,其他系統未使用)

// 驗證字元串是否為正確路徑名的正則表達式

private static String matches = “[A-Za-z]:\\\\[^:?\”*]*”;

// 通過 sPath.matches(matches) 方法的返回值判斷是否正確

// sPath 為路徑字元串

2、通用的文件夾或文件刪除方法,直接調用此方法,即可實現刪除文件夾或文件,包括文件夾下的所有文件

/**

* 根據路徑刪除指定的目錄或文件,無論存在與否

*@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);

}

}

}

3、實現刪除文件的方法

/**

* 刪除單個文件

* @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;

}

4、實現刪除文件夾的方法

/**

* 刪除目錄(文件夾)以及目錄下的文件

* @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;

}

}

5、main() 方法

public static void main(String[] args) {

HandleFileClass hfc = new HandleFileClass();

String path = “D:\\test\\folder1\\exam1”;

boolean result = hfc.CreateFolder(path);

System.out.println(result);

path = “D:\\test\\folder2”;

result = hfc.DeleteFolder(path);

System.out.println(result);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151489.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-11 13:42
下一篇 2024-11-11 13:42

相關推薦

發表回復

登錄後才能評論