java.io.File#delete
가 실패하면 메소드는 원인을 따로 표기하지 않고 false
만 반환합니다.
반면 java.nio.file
는 더 괜찮은 정보를 제공합니다.
java.nio.file.Files#delete
은 반환 타입이 void이지만 실패의 원인을 더 잘 보여주기 위해 exception을 던집니다.
그리고 일반적으로 디버깅 상황에서는 더 많은 정보가 있는게 훨씬 유리합니다. 따라서, java.nio.file.Files#delete
을 사용하는 것이 더 좋습니다.
규칙을 어긴 코드
public void cleanUp(Path path) {
File file = new File(path);
if (!file.delete()) { // 규칙을 어긴 코드
//...
}
}
규칙을 준수한 해결책
public void cleanUp(Path path) throws NoSuchFileException, DirectoryNotEmptyException, IOException {
Files.delete(path);
}
If you like SONARKUBE, don’t forget to give me a star.