先讀取整個目錄,循環遍歷目錄下所有文件,判斷是否為文件夾 使用file.isDirectory() ,它返回的布爾值,是文件夾返回true,如果返回是false值,就file.delete(),這樣就可以滿足你要的效果了,望採納謝謝。
❷ Java如何刪除文件夾下的子目錄及其包含的子文件
下面給你介紹Java刪除文件夾下的子目錄及其包含的子文件的方法:
package com.cn.test1;
import java.io.File;
public class DeleteAllFiles {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath = "e:\\fq\\";
System.out.println("開始刪除文件");
File file = new File(filePath);
// deleteFile(file);
deleteAllFilesOfDir(file);
System.out.println("刪除成功!!");
}
//遞歸刪除文件夾(方法一)
public static void deleteFile(File file) {
if (file.exists()) {//判斷文件是否存在
if (file.isFile()) {//判斷是否是文件
file.delete();//刪除文件
} else if (file.isDirectory()) {//否則如果它是一個目錄
File[] files = file.listFiles();//聲明目錄下所有的文件 files[];
for (int i = 0;i < files.length;i ++) {//遍歷目錄下所有的文件
deleteFile(files[i]);//把每個文件用這個方法進行迭代
}
file.delete();//刪除文件夾
}
} else {
System.out.println("所刪除的文件不存在");
}
}
//方法二
public static void deleteAllFilesOfDir(File path) {
if (!path.exists())
return;
if (path.isFile()) {
path.delete();
return;
}
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
deleteAllFilesOfDir(files[i]);
}
path.delete();
}
}
❸ 請問用java 如何實現邏輯刪除文件
把文件名用資料庫管理起來,
先確定某個目錄下放置你邏輯刪除的文件,
每次刪除文件把原路徑和刪除後的保存的路徑放置到資料庫,
當你需要還原的時候通過查詢資料庫再拷回去就可以了.
當然你想做直接刪除也可以,不放入資料庫直接刪就行了
事實上windows 也是這樣管理的,刪除時移動到回收站而已,不過比這個有效率多了.
❹ java我刪除一個文件的時候如果文件刪除成功了,還需要判斷該文件所在的文件夾是否為空如果為空的話也要刪
// 正向遞歸刪除路徑下的文件
public void delFile(String path){
File file = new File(path);
if(file.exists()&&file.isFile()){
file.delete();
}else if(file.exists()&&file.isDirectory()){
File[] files = file.listFiles();
if(files!=null){
for(File f:files){
if(f!=null){
delFile(f.getAbsolutePath());
}
}
}
}
}
// 逆向遞歸刪除空目錄
public void delEmptyPath(String path){
File file = new File(path);
if(file.exists()&&file.isDirectory()){
File[] files = file.listFiles();
if(files!=null&&files.length>0)
return;
if(file.delete()){
delEmptyPath(file.getParent());
}
}
}
// 把上面兩個方法先後調用就能達到你的目的
public void delDirectories(String path){
File file = new File(path);
delFile(file.getAbsolutePath());
delEmptyPath(file.getParent());
}
❺ java文件夾作為臨時存放目錄,怎樣在系統運行完之後清空
importjava.io.File;
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
StringfilePath="E:\test\test";
Filefile=newFile(filePath);
//調用靜態方法刪除目錄或文件
Test.removeDir(file);
}
publicstaticvoidremoveDir(Filefile){
if(!file.exists()){//目錄不存在
return;
}else{
if(file.isFile()){//地址指向一個文件時,就刪除這個文件
file.delete();
}else{//當地址指向一個文件夾或目錄
File[]fileArray=file.listFiles();
for(inti=0;i<fileArray.length;i++){
//遞歸刪除目錄下的文件
removeDir(fileArray[i]);
}
//刪除目錄
file.delete();
}
}
}
}