java.nio.Files을 이용한 파일 삭제
Use "java.nio.Files#delete" here for better messages on error conditions.
수정 전
public static boolean deleteFile(String path, String name){
File file = new File(path + name);
return file.delete();
}
return false;
}
수정 후
public static boolean deleteFile(String path, String name) {
Path filePath = FileSystems.getDefault().getPath(path, name);
try {
Files.delete(filePath);
} catch (IOException | SecurityException e) {
return false;
}
return true;
}
"java.nio.Files#delete" should be preferred (squid:S4042)
When java.io.File#delete
fails, this boolean
method simply returns false
with no indication of the cause. On the other hand, when java.nio.Files#delete
fails, this void
method returns one of a series of exception types to better indicate the cause of the failure. And since more information is generally better in a debugging situation, java.nio.Files#delete
is the preferred option.
Noncompliant Code Example
public void cleanUp(Path path) { File file = new File(path); if (!file.delete()) { // Noncompliant //... } }
Compliant Solution
public void cleanUp(Path path) throws NoSuchFileException, DirectoryNotEmptyException, IOException{ Files.delete(path); }