在 Java 中,你可以使用 java.io.File 類來刪除文件夾里的所有文件。
創(chuàng)新互聯(lián)公司秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司,微信小程序開發(fā),網(wǎng)頁設(shè)計制作,成都手機網(wǎng)站制作,營銷型網(wǎng)站幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
例如,你可以使用以下代碼來刪除文件夾 "mydir" 中的所有文件:
Copy code
File dir = new File("mydir");
// 列出所有文件
File[] files = dir.listFiles();
// 遍歷所有文件并刪除
for (File file : files) {
file.delete();
}
// 刪除空文件夾
dir.delete();
注意,如果文件夾 "mydir" 不存在或者不是一個文件夾,這段代碼可能會拋出異常。因此,你可能需要添加一些錯誤處理代碼來確保程序的正常運行。
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;??
}??
}
FIle file = new File("/image/123.jpg");
if (file.exists()){
file.delete();
}
使用File對象操作刪除,會判斷是否存在,如存在就刪了。
如果想找路徑,使用File類的getAbsolutePath()方/法就能得到/絕/對/路/徑/的字符串表示。
例如上面的對、象file,使用
String str = file.getAbsolutePath();
System.out.println(str);
你在/控/制/臺co/ns/ole/窗口就能看到了。
File
F=new
File(路徑);/通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個新
File
實例。
F.delete();//刪除此抽象路徑名表示的文件或目錄。
文件的移動的話,得通過輸入輸出流
FileInputStream
FI=new
FileInputStream(F);
FileOutputStream
FO=new
FileOutputStream(F);
wile(FI.read()!=EOF)
{
FO.write();
}
java刪除文件或文件夾的具體步驟:
1、驗證傳入路徑是否為正確的路徑名(Windows系統(tǒng),其他系統(tǒng)未使用)
// 驗證字符串是否為正確路徑名的正則表達式
private static String matches = "[A-Za-z]:\\\\[^:?\"*]*";
// 通過 sPath.matches(matches) 方法的返回值判斷是否正確
// sPath 為路徑字符串
2、通用的文件夾或文件刪除方法,直接調(diào)用此方法,即可實現(xiàn)刪除文件夾或文件,包括文件夾下的所有文件
/**
* 根據(jù)路徑刪除指定的目錄或文件,無論存在與否
*@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()) { // 為文件時調(diào)用刪除文件方法
return deleteFile(sPath);
} else { // 為目錄時調(diào)用刪除目錄方法
return deleteDirectory(sPath);
}
}
}
3、實現(xiàn)刪除文件的方法
/**
* 刪除單個文件
* @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、實現(xiàn)刪除文件夾的方法
/**
* 刪除目錄(文件夾)以及目錄下的文件
* @param sPath 被刪除目錄的文件路徑
* @return 目錄刪除成功返回true,否則返回false
*/
public boolean deleteDirectory(String sPath) {
//如果sPath不以文件分隔符結(jié)尾,自動添加文件分隔符
if (!sPath.endsWith(File.separator)) {
sPath = sPath + File.separator;
}
File dirFile = new File(sPath);
//如果dir對應(yīng)的文件不存在,或者不是一個目錄,則退出
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;
}
}
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);
}
代碼如下,使用遞歸進行刪除
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);
}
}
}
}
}
新聞標(biāo)題:java刪除文件具體代碼 java 刪除文件內(nèi)容
文章地址:http://jinyejixie.com/article26/dosccjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗、網(wǎng)站營銷、做網(wǎng)站、云服務(wù)器、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)