0

次のコードを使用しBufferedImageてディスクに保存しています。

savePath = new File(path);
savePath.mkdirs();
savePath.createNewFile();
javax.imageio.ImageIO.write(img, "png", savePath);

この特定のコードはサーバーから実行され、クライアント要求ごとに約10回実行されます。ほとんどの場合(10件中9件のリクエスト)、正常に機能し、イメージは期待どおりにディスクに保存されます。

しかし、時々私は電話に出てjava.io.FileNotFoundException (Access is denied)...ImageIO.write()画像が保存されません。(フォルダはまだ作成されています)

何が例外を引き起こす可能性がありますか?

4

1 に答える 1

4

これが実際に機能するとは信じがたいです。savePathを呼び出してディレクトリとして作成し、それmkdirs()をファイルとして作成しようとしています。savePath.getParentFile().mkdirs()代わりに電話する必要があります。

createNewFile()呼び出しは冗長です。

于 2012-11-09T05:51:06.870 に答える