public static Boolean SaveImage(RenderedImage image, String savePath) {
Boolean reg = true;
File file = new File(savePath);
File outputFileDirectory = new File(file.getParent().replace('\\', '/'));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
if(!outputFileDirectory.exists())
{
outputFileDirectory.mkdirs();
}
ImageIO.write(image, "jpg", file);
byte[] buffer = baos.toByteArray();
FileOutputStream fs = new FileOutputStream(file);
fs.write(buffer, 0, buffer.length);
baos.close();
fs.flush();
fs.close();
} catch (IOException e) {
e.printStackTrace();
reg = false;
return reg;
}
return reg;
}
代码就是这样的,文件生成了,但是删除的时候,删不掉,什么情况,怎么解决。
Boolean reg = true;
File file = new File(savePath);
File outputFileDirectory = new File(file.getParent().replace('\\', '/'));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
if(!outputFileDirectory.exists())
{
outputFileDirectory.mkdirs();
}
ImageIO.write(image, "jpg", file);
byte[] buffer = baos.toByteArray();
FileOutputStream fs = new FileOutputStream(file);
fs.write(buffer, 0, buffer.length);
baos.close();
fs.flush();
fs.close();
} catch (IOException e) {
e.printStackTrace();
reg = false;
return reg;
}
return reg;
}
代码就是这样的,文件生成了,但是删除的时候,删不掉,什么情况,怎么解决。
FileOutputStream fs = new FileOutputStream(file);
fs.write(buffer, 0, buffer.length);
你这样一直在写,当然关不掉了。
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
fs.write(buffer, 0, buffer.length);
baos.close();
fs.flush();
fs.close();
这段代码感觉是多余的,ImageIO.write(image, "jpg", file); 这句应该就能写了。你去掉这部分试试吧