File.delete를 ()는 임의의 시간에 삭제 대상 파일

TrianglesMcGee :

나는 폴더에있는 파일 및 폴더 자체를 삭제하기 위해 노력하고있어하지만 그것은 단지 임의의 시간에서 폴더를 삭제합니다. 왜 발생합니까? 내가 삭제 버튼을 매쉬업 유지하는 경우 결국 삭제됩니다.

private void deleteCourseButtonMouseClicked(java.awt.event.MouseEvent evt) {
    File dltcycle = new File(C.viewcoursedirectory);
    System.out.println(dltcycle.getAbsolutePath());
    String[] cycle = dltcycle.list();
    for (int i = 0; i < cycle.length; i++) {
        File dlt = new File(C.viewcoursedirectory + "\\" + cycle[i]);
        System.out.println(C.viewcoursedirectory + "\\" + cycle[i]);
        System.out.println(dlt.getAbsolutePath());
        dlt.delete();
    } 
    dltcycle.delete(); 
 }

디렉토리에 폴더가 지속적으로 삭제하는 예상 된 결과입니다. 아니 삭제 버튼을 매쉬업 한 후 임의의 시간에서. 내가 코드 블록이 추한 보이는 경우 미안 해요, 난 정말 포맷하는 방법을 모르겠어요. 나는 "{"와 "}"코드 블록에 표시되지 않는 이유를 알고하지 않습니다 X를.

마이너스 :

그런 행동의 가장 일반적인 원인은 유출 스트림입니다. 당신은, 예를 들어, FileOutputStream 또는를 사용하여 파일을 작성하고 어떻게 든 당신 가까이를하지 않는 경우의 참조가 쓰레기 수집 얻을 때, 결국 종료됩니다.

스트림이 항상 닫혀있는 경우 (당신이 중 하나를 입력 또는 출력 스트림을 사용하여 파일을 열 경우) 확인합니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=234943&siteId=1