1. 파일 삭제

 - 시스템이 종료될 때 파일 삭제하고 싶음


2. Thread를 생성해서 처리함.

 - jdk1.8 미만

Runtime.getRuntime().addShutdownHook(new Thread() {

@Override
public void run() {
new File("").delete(); //File Delete Code

}
});


 - jdk 1.8 이상

Runtime.getRuntime().addShutdownHook(new Thread(() -> {
new File("").delete(); //File Delete Code
}));

3. Apache Commons-io를 사용

 - 코드 샘플

try {
FileUtils.forceDeleteOnExit(new File("fileName"));
} catch (IOException e) {
e.printStackTrace();
}

 - 메소드

/**
* Schedules a file to be deleted when JVM exits.
* If file is directory delete it and all sub-directories.
*
* @param file file or directory to delete, must not be {@code null}
* @throws NullPointerException if the file is {@code null}
* @throws IOException in case deletion is unsuccessful
*/
public static void forceDeleteOnExit(final File file) throws IOException {
if (file.isDirectory()) {
deleteDirectoryOnExit(file);
} else {
file.deleteOnExit();
}
}


'프로그래밍 > JAVA' 카테고리의 다른 글

AmazonS3Client, deprecated!!!  (0) 2018.05.21
json schema validator 사용하기 - 01  (0) 2018.04.18
시스템 종료 후 File 삭제  (0) 2018.04.12
Java에서 Tuple 사용하기.  (0) 2018.04.11
try-catch-resources  (0) 2018.04.11
public static void main(String[] args){}  (0) 2018.04.03

+ Recent posts