`javax.imageio.ImageIO`是否需要文件锁定?

时间:2015-04-25 21:27:34

标签: java image io locking file-locking

我的应用将图片保存到文件夹中。同时,另一个软件监视此文件夹并打印粘贴的图像。

我遇到的问题是打印应用程序可以在打印机上发送一半渲染图像,或者根本不对保存的图像作出反应。

我使用javax.imageio.ImageIO.write(RenderedImage im, String formatName, File output)BufferedImage保存为png格式。

如果需要锁定,请提供带有显式锁定的代码示例。如果不解释原因。

我已在WindowsJRE 1.8

上进行了测试

2 个答案:

答案 0 :(得分:1)

基本上,您应该将图像写入临时文件,然后将其重命名为最终文件名。这样,文件就会在其他应用程序意识到之前完全写入。

答案 1 :(得分:0)

您可能希望实现某种锁定机制,即文件只有在完全写入时才会读取,或者根本不读取。