1
ImageIOを使用してJBIG2からJPEGに変換すると、すべて正常に動作しますが、ImageIOが作成する一時ファイルは削除されず、例えば作業完了後にImageIOガーベッジ・テンポラリファイルが削除されない
:imageio1278573787994972734.tmp
GCは、画像読取装置に
これは仕事に行くされて助けるdoesntのキャッシュを無効にすることを
- 非常に難しく、私はディスクスペースを使い果たしたくありません。
どのように彼は一度、これらの一時ファイルを削除するようにするには?
ありがとうございました。ここで
は、コードは次のとおりです。
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 }}