"java.nio.file.Files#delete" 사용을 권장합니다.

 

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. :star2:

원문으로 바로가기

Star This Project