Java의 File 클래스 메소드를 통해 지정된 폴더의 모든 파일 삭제

Java의 File 클래스 메소드를 통해 지정된 폴더의 모든 파일 삭제

여기에 사진 설명 삽입

  • 삭제 설명
  • 여기에 사진 설명 삽입
    그래서 여기에 질문이 있습니다 !!!
    (②의 질문, 폴더에있는 모든 파일을 삭제하는 방법, 아마도 많은 학생들이 저만큼 당황 스러울 것입니다.) 사용할 방법에 대해
    걱정하지 마십시오.
    여기에 사진 설명 삽입
    여기에 사진 설명 삽입

    여기에 사진 설명 삽입

(재귀 적 사고) 폴더에 폴더가 있으면 계속 아래를 봅니다 (공식적이지 않을 수도 있고 개인적 이해).

다음 코드 표시
방법 1 :

package com.study;

import java.io.File;
import java.io.IOException;
/**
 1. 应用场景
 2.     delete删除只能删除空文件夹 和文件
 3.     删除指定文件夹
 */
public class Test1 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        File f = new File("D://B");
        deleteFile(f);//删除完后并没有删除根目录
        f.delete();//删除根目录
        if (!f.exists()){
    
    
            //控制台打印
            System.out.println("删除成功");
        }
    }
    private static void deleteFile(File file) throws IOException {
    
    
        /**
         *  File[] listFiles() 
         *    返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。 
         */
        File[] files = file.listFiles();
        if (files!=null){
    
    //如果包含文件进行删除操作
            for (int i = 0; i <files.length ; i++) {
    
    
                if (files[i].isFile()){
    
    
                    //删除子文件
                    files[i].delete();
                }else if (files[i].isDirectory()){
    
    
                    //通过递归的方法找到子目录的文件
                    deleteFile(files[i]);
                }
                files[i].delete();//删除子目录
            }
        }
    }
}

방법 2 : 위와 동일, 위의 경우 코드 블록을 교체하십시오.

if (files!=null){//如果包含文件进行删除操作
            for (File f:files) {
                //判断遍历出的文件是不是文件
                if (f.isFile()){
                    //如果是则直接删除
                    f.delete();
                }else if (f.isDirectory()){//通过递归的方法找到文件夹里的文件
                    deleteFile(f);
                }
                f.delete();//删除子目录
            }
         }

아이디어

File 클래스를 통해 폴더의 전체 내용을 삭제합니다.

  1. 디렉토리는 디렉토리의 모든 파일이 삭제 된 후에 만 ​​삭제할 수 있습니다.
  2. 재귀 적으로 하위 디렉토리 입력
  3. 마지막으로 루트 디렉토리를 삭제하십시오.

추천

출처blog.csdn.net/weixin_54282421/article/details/112250763