• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

javax.imageio.IIOException: Can't create cache file!

开发技术 开发技术 4小时前 1次浏览

javax.imageio.IIOException: Can’t create cache file!
at javax.imageio.ImageIO.createImageInputStream(ImageIO.java:361)
at javax.imageio.ImageIO.read(ImageIO.java:1351)

Caused by: java.nio.file.NoSuchFileException: D:JAVASERVERapache-tomcat-7.0.72-ElectBill-8091tempimageio3049143507735331701.tmp
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.Files.createFile(Files.java:632)
at java.nio.file.TempFileHelper.create(TempFileHelper.java:138)
at java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:161)
at java.nio.file.Files.createTempFile(Files.java:897)

由找不到文件引起:java.nio.file.NoSuchFileException: …tempimageio3049143507735331701.tmp
主要原因是使用imgio包进行操作时,默认会使用缓存目录:${tomcat}/temp,在此缓存目录会生成缓存文件,
时间戳.tmp(这一串数字应该是当前时间戳,临时文件名),但是有些tomcat,会把temp目录进行删除,因此报错
解决方法:
1、tomcat的安装目录下新建一个temp目录。
2、ImageIO.setCacheDirectory(cacheDirectory),设置缓存目录。
3、ImageIO.setUseCache(false)设置,更改缓存策略,不使用文件目录缓存,使用内存缓存。


程序员灯塔
转载请注明原文链接:javax.imageio.IIOException: Can't create cache file!
喜欢 (0)