티스토리 뷰
자바에서 디렉토리 삭제시 하위디렉토리들이 파일이 존재할 경우에는 재귀적으로 삭제 처리할수밖에 없습니다.
(단 Runtime으로 native 명령어를 직접 실행해서 삭제할수 있습니다. 하지만 보안적 위협이 됩니다.)
Java8 에서는 NIO2 와 Stream API 를 사용해서 Beautiful 하게 삭제처리를 할수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package com.example.demo; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Comparator; public class DeleteTest { public static void main(String[] args) throws IOException { cleanDir(); } public static void cleanDir() throws IOException { Path rootDir = Paths.get("c:\\target_test"); Files.walk(rootDir) .sorted(Comparator.reverseOrder()) .map(Path::toFile) .forEach(File::delete); } } | cs |
'Java' 카테고리의 다른 글
[자바]List 에서 previous 값 접근하기 (0) | 2018.02.13 |
---|---|
[자바] 자바에서 Call By Value 인가? Call By Reference? (0) | 2018.01.23 |
[자바] 자바에서 유니크ID, Key 값 만들기 (0) | 2018.01.16 |
[자바] Java8 에서 람다(Lamda)식 사용하기 1편 (0) | 2018.01.15 |
[자바] Currying In Java 8 (0) | 2017.12.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크