1
ImageIO를 사용하여 JBIG2에서 JPEG로 파일을 변환하면 모든 것이 제대로 작동하지만 ImageIO가 생성하는 임시 파일은 삭제되지 않고 임시 폴더에 걸릴 수 있습니다. 예를 들어ImageIO 쓰레기 임시 파일은 작업이 완료된 후에 삭제되지 않습니다.
: imageio1278573787994972734.tmp
- 이 작동하는 것입니다
캐시 나던 도움을 해제
아이디어가 있으면 어떻게하면 임시 파일을 삭제할 수 있습니까?
감사합니다. 제대로 읽기, 쓰기 후 자원을 처분하지 않는 경우
def convertJBig2ToJpeg(j2bigFile: File) : Try[File] = Try { import java.io._ import net.java.truecommons.shed.ResourceLoan._ loan (new FileInputStream(j2bigFile)) to { inputStream => val disf = new DefaultInputStreamFactory() val imageInputStream = disf.getInputStream(inputStream) val imageReader = new JBIG2ImageReader(new JBIG2ImageReaderSpi()) imageReader.setInput(imageInputStream) val param = imageReader.getDefaultReadParam val bufferedImage = imageReader.read(0, param) val newFilePath = j2bigFile.getParent + "/" + j2bigFile.getName.split('.')(0) + "." + MimeType.postfixValue(JPG) val newFile = new File(newFilePath) try { ImageIO.write(bufferedImage, MimeType.postfixValue(JPG), newFile) }catch { case e: Throwable => Files.deleteIfExists(newFile.toPath) throw e } newFile }}