导航:首页 > 编程语言 > java递归删除文件

java递归删除文件

发布时间:2025-02-10 15:31:16

java遍历一个文件夹中的所有文件---(递归)

public void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (null == files || files.length == 0) {

System.out.println("文件夹是空的!");

return;

} else {

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else {

System.out.println("文件:" + file2.getAbsolutePath());

}

}

}

} else {

System.out.println("文件不存在!");

}

}

(1)java递归删除文件扩展阅读

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList<File> list = new LinkedList<File>();

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

foldeNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

File temp_file;

while (!list.isEmpty()) {

temp_file = list.removeFirst();


files = temp_file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

folderNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

}

} else {

System.out.println("文件不存在!");

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

② 用java写一个方法,用于彻底删除一个目录,注:该目录为多级目录,且目录下有文件。

importjava.io.File;

publicclassDeleteDirectory{
/**
*删除空目录
*@paramdir将要删除的目录路径
*/
(Stringdir){
booleansuccess=(newFile(dir)).delete();
if(success){
System.out.println(":"+dir);
}else{
System.out.println("Failedtodeleteemptydirectory:"+dir);
}
}

/**
*递归删除目录下的所有文件及子目录下所有文件
*@paramdir将要删除的文件目录
*@returnbooleanReturns"true"ifalldeletionsweresuccessful.
*Ifadeletionfails,themethodstopsattemptingto
*deleteandreturns"false".
*/
privatestaticbooleandeleteDir(Filedir){
if(dir.isDirectory()){
String[]children=dir.list();
//递归删除目录中的子目录下
for(inti=0;i<children.length;i++){
booleansuccess=deleteDir(newFile(dir,children[i]));
if(!success){
returnfalse;
}
}
}
//目录此时为空,可以删除
returndir.delete();
}
/**
*测试
*/
publicstaticvoidmain(String[]args){
doDeleteEmptyDir("new_dir1");
StringnewDir2="new_dir2";
booleansuccess=deleteDir(newFile(newDir2));
if(success){
System.out.println(":"+newDir2);
}else{
System.out.println(":"+newDir2);
}
}
}

③ 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怎样获得某个目录下所有文件的文件名

如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名

importjava.io.File;
importjava.util.ArrayList;

publicclassFileTest{
privatestaticArrayList<String>filelist=newArrayList<String>();

publicstaticvoidmain(String[]args)throwsException
{
StringfilePath="E://Struts2";
getFiles(filePath);
}


/*
*通过递归得到某一路径下所有的目录及其文件
*/
staticvoidgetFiles(StringfilePath)
{
Fileroot=newFile(filePath);
File[]files=root.listFiles();
for(Filefile:files)
{
if(file.isDirectory())
{
/*
*递归调用
*/
getFiles(file.getAbsolutePath());
filelist.add(file.getAbsolutePath());
System.out.println("显示"+filePath+"下所有子目录及其文件"+file.getAbsolutePath());
}else{
System.out.println("显示"+filePath+"下所有子目录"+file.getAbsolutePath());
}
}
}
}

⑤ java如何用file删除所有文件夹的同一个文件

删除文件夹下的所有文件需要用到java.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); //删除完里面所有内容
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文件夹作为临时存放目录,怎样在系统运行完之后清空

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();
}
}
}
}

⑦ java FTPClient如何删除远程服务器端的文件夹及其子文件夹及其内容!

假如文件夹里面有文件的话,ftpclient根本删除不了文件夹,不像其他api可以自动递归删除,所以得先删除文件夹里面的文件,然后在删除文件夹,
删除之前记得改变下工作目录 fileName是dirName里面的文件
ftpClient.changeWorkingDirectory(remoteDir+dirName)

删除文件命令:ftpClient.deleteFile(fileName);
删除完文件后更改目录ftpClient.changeWorkingDirectory(remoteDir)
删除文件夹命令:ftpClient.removeDirectory(dirName);

阅读全文

与java递归删除文件相关的资料

热点内容
分段加密的安全性 浏览:507
咪咕直播为什么没有适配安卓系统 浏览:172
php模版大全 浏览:102
没车能解压吗 浏览:634
php开发oa系统源码 浏览:759
怎么安装苹果ios的app 浏览:581
app拉新如何机刷 浏览:480
zendeclipseforphp 浏览:480
同时有几个微信如何加密微信 浏览:86
大众20t压缩比 浏览:566
程序员要记住的500个单词 浏览:830
wq快捷方式在哪个文件夹 浏览:965
云南到河北源码 浏览:92
安卓手机怎么玩造梦3 浏览:60
多玩我的世界盒子怎么创造服务器地址 浏览:986
手机如何下载米家app 浏览:96
未知来源app在哪里 浏览:206
命令与征服3合集 浏览:752
有免税标签有溯源码是假的吗 浏览:218
stc89c52单片机引脚图 浏览:223