클라이언트에서 파일을 다운로드하여 특정 위치로 이동시키는 자바 서블릿을 작성하고 있습니다. 이동 후 다운로드 한 파일을 삭제합니다. 때때로 리눅스는 .fuse_hidden ______ 명명 된 파일을 생성한다. 서버 프로세스가 재시작 될 때까지 그 위치에 남아 있습니다. 다운로드가 끝나면 열린 스트림을 모두 닫습니다. 일반적으로 마운트 된 USB 플래시 드라이브에서 발생합니다.삭제 시도 후 임시 파일이 계속됩니다.
여기 파일에 적어도 하나의 열린 파일 핸들이 여전히 있다는 것을 의미 내 코드
try{
...
inputStream = new RandomAccessFile(new File(sourcePath), "r");
inputChannel = inputStream.getChannel();
....
}
finally{
inputChannel.close();
inputStream .close();
}
new File(sourcePath).delete();
예외가 있습니까? 예외가 발생하면 try, catch, finally 블록 외부에 있기 때문에 파일이 삭제되지 않습니다. – Michael