Java - 디렉토리 삭제


특정 디렉토리 하위의 파일과 디렉토리들을 삭제하는 메소드입니다.

/**
 * 하위 디렉토리 및 파일 삭제
 * @param dir 절대 경로
 */
public static void deleteDirectory(String dir, final Logger logger) {
    System.out.println(dir);
    Path directory = Paths.get(dir);
    try {
        Files.walkFileTree(directory, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                Files.delete(file);
                logger.info("Delete File : {}", file.toString());
                return FileVisitResult.CONTINUE;
            }

            @Override
            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
                Files.delete(dir);
                logger.info("Delete Directory : {}", dir.toString());
                return FileVisitResult.CONTINUE;
            }

        });
    } catch (IOException e) {
        e.printStackTrace();
    }
}

 

광고

댓글 남기기