写一个图片压缩的小程序,从一个文件夹中读出图片,压缩有写入另一个文件夹,一直以来运行的好好的代码,突然报错了:
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目录不存在导致的,手动创建此目录即可。