ImageIO Can't create cache file!

写一个图片压缩的小程序,从一个文件夹中读出图片,压缩有写入另一个文件夹,一直以来运行的好好的代码,突然报错了:

Can't create cache file!

....

文件未找到。

报错代码:Image bi = ImageIO.read(in);

查看ImageIO源代码发现其中使用了一个缓冲区,所以找缓冲区目录看看,代码中加一个行代码:

System.out.println(System.getProperty("java.io.tmpdir"));

执行后打印出缓冲区路径:C:\Users\ADMINI~1\AppData\Local\Temp\2,打开本地目录发现最后缺少了\2\目录,手动创建一个,再次执行,问题解决。

Can't create cache file! 其实已经说得很明显,缓冲区文件无法创建,找到缓冲区目录看一下即可找到原因,目录不存在、目录不可写等等

另外,tomcat下的程序报此错误,一般都是tomcat\temp目录不存在导致的,手动创建此目录即可。


版权声明:本文为wymaweiyue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。