Java 5를 사용하여 jar 파일을 삭제하려고합니다 (Java 7에서 소개 된 Paths API는 옵션이 아닙니다).Cant가 File의 작업을 이해합니다. object.delete()
내 코드 :
내 코드가 삭제 jar 파일을 실행 도착하지만Delete operation is failed for testJar.jar
가 logs.Cant에 인쇄
String sep = File.separator;
File test = new File("."+ sep + "server" + sep + "lib" + sep + "testJar.jar");
if(test.delete())
{
logger.log(Level.INFO,test.getName() + " deleted.");
}
else
{
logger.log(Level.INFO,"Delete operation is failed for "+test.getName());
}
이 why..any 도움이 이해가 감사합니다.
업데이트 : 동일한 코드를 다시 시도하고,이 시간이 testJar.jar deleted
지금 내가 무슨 일이 일어나고 있는지 혼란 스러워요 말한다
예를 들어 JVM과 같이 Jar 파일이 열려있을 가능성이 큽니다. 'deleteOnExit'을 사용하면 JVM이 정상적으로 종료되었을 때 파일을 삭제하고 삭제할 수 있습니다.하지만 여전히 작동하지 않을 가능성이 있습니다. Java 7은'Classloader'가 Jar 파일을 읽는 것을 끝내면 Jar 파일을 닫음으로써이 문제를 해결할 수 있다고 믿고 있습니다. – MadProgrammer
'Files.delete (Path)'를 사용하십시오 -'boolean'을 리턴하지 않고 예외를 던집니다. 'Path'를 얻으려면'Paths.get'에'File.toPath'를 사용하십시오. 그것은 당신에게 설명적인 오류를 줄 것입니다. –
@BoristheSpider 팁을 주셔서 감사합니다. nio는 java5와 함께 작동하도록 제한되어 있지만 java 7에서 도입되었습니다. 제안 사항은 무엇입니까? – amudhan3093