import java.io.File;
import java.util.*;
public class DeleteTest {
public static File m_root;// 记录要删除的路径
public static ArrayList m_dirs;//存储指定路径下所有的东西
/**
* 获取所有的文件或文件夹
* 存储在m_dirs中
*
*/
public void visiAll(File tempRoot) {
// 获取指定路径下的所有文件
File[] dirs = tempRoot.listFiles();
try {
if (dirs != null) {
// 将文件数组转化为list对象
List dirslist = Arrays.asList(dirs);
// 将list对象完全放入m_dirs中
m_dirs.addAll(dirslist);
// 递归调用
for (int i = 0; i < dirslist.size(); i++) {
this.visiAll((File) dirslist.get(i));
}
}
for (int i = 0; i < m_dirs.size(); i++) {
Object l=m_dirs.get(i);
System.out.println(l);
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error is this.visitAll "+e.getMessage());
}
}
/**
* 删除文件或文件夹
* 使用倒叙删除,先删除文件,在删除文件夹
*/
public void rootDelete(){
try {
if(m_dirs!=null){
//使用倒敘循环删除
for (int i = m_dirs.size()-1; i >=0; i--) {
File f=(File)m_dirs.remove(i);
if(!f.delete()){
System.out.println("文件路径不存在!!!");
}
}
}else{
System.out.println("获取list(m_dirs)列表为空!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("o "+e.getMessage());
}
}
/**
* 删除文件夹方法
* @param dir要删除的文件夹类型(java.io.File)
*/
public void deleteDirs(java.io.File dir){
try {
m_root=dir;
m_dirs=new ArrayList();
if(!m_root.isDirectory()){
System.out.println(m_root.toString()+"不是路径");
}else{
//输出m_dirs中记录的值
for (int i = 0; i < m_dirs.size(); i++) {
System.out.println(((File)m_dirs.get(i)).toString());
}
m_dirs.add(m_root);
this.visiAll(m_root);//获取指定路径下的所有文件及文件夹
this.rootDelete();
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error in deleteDirs"+e.getMessage());
}
}
import java.util.*;
public class DeleteTest {
public static File m_root;// 记录要删除的路径
public static ArrayList m_dirs;//存储指定路径下所有的东西
/**
* 获取所有的文件或文件夹
* 存储在m_dirs中
*
*/
public void visiAll(File tempRoot) {
// 获取指定路径下的所有文件
File[] dirs = tempRoot.listFiles();
try {
if (dirs != null) {
// 将文件数组转化为list对象
List dirslist = Arrays.asList(dirs);
// 将list对象完全放入m_dirs中
m_dirs.addAll(dirslist);
// 递归调用
for (int i = 0; i < dirslist.size(); i++) {
this.visiAll((File) dirslist.get(i));
}
}
for (int i = 0; i < m_dirs.size(); i++) {
Object l=m_dirs.get(i);
System.out.println(l);
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error is this.visitAll "+e.getMessage());
}
}
/**
* 删除文件或文件夹
* 使用倒叙删除,先删除文件,在删除文件夹
*/
public void rootDelete(){
try {
if(m_dirs!=null){
//使用倒敘循环删除
for (int i = m_dirs.size()-1; i >=0; i--) {
File f=(File)m_dirs.remove(i);
if(!f.delete()){
System.out.println("文件路径不存在!!!");
}
}
}else{
System.out.println("获取list(m_dirs)列表为空!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("o "+e.getMessage());
}
}
/**
* 删除文件夹方法
* @param dir要删除的文件夹类型(java.io.File)
*/
public void deleteDirs(java.io.File dir){
try {
m_root=dir;
m_dirs=new ArrayList();
if(!m_root.isDirectory()){
System.out.println(m_root.toString()+"不是路径");
}else{
//输出m_dirs中记录的值
for (int i = 0; i < m_dirs.size(); i++) {
System.out.println(((File)m_dirs.get(i)).toString());
}
m_dirs.add(m_root);
this.visiAll(m_root);//获取指定路径下的所有文件及文件夹
this.rootDelete();
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error in deleteDirs"+e.getMessage());
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
DeleteTest d=new DeleteTest();
File f=new File("d:/dgxt111");
d.deleteDirs(f);
}
}