Java에서 임시 파일을 만드는 안전한 방법을 찾고 있습니다. 안전하다는 것은 다음을 의미합니다.
- 이름은 잠재적 인 경쟁 조건에서도 고유해야합니다 (예 : 다른 스레드가 동시에 동일한 기능을 호출하거나 다른 프로세스가이 코드를 동시에 실행).
- 잠재적 인 경쟁 조건에서도 파일은 비공개 여야합니다 (예 : 다른 사용자가 높은 속도로 파일을 chmod하려고 시도).
- 일반 삭제를 수행 할 필요없이 파일을 삭제하도록 지시 할 수 있으며 잘못된 파일을 삭제할 위험이 있습니다.
- 이상적으로는 예외가 발생하더라도 파일이 삭제되었는지 확인해야합니다.
- 파일의 기본값은 정상적인 위치 여야합니다 (예 : JVM에서 지정한 tmp dir, 기본값은 시스템 temp dir).
File f = File.createTempFile(prefix, extension)
. 임시 디렉토리에 배치됩니다. 그리고f.deleteOnExit()
종료시 자동으로 삭제됩니다.