java gif图片保存处理逻辑
/**
* 保存本地上传的gif
* @param inputStream 图片数据
* @param savePath 保存路径
*/
public static void saveGifImageInputStream(InputStream inputStream, String savePath){
byte[] data = new byte[BUFFER_SIZE];
int len = 0;
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(savePath);
while ((len = inputStream.read(data)) != -1) {
fileOutputStream.write(data, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
文件保存:
/**
* 根据字节数组获取File
* @param b 字节数组
* @param outputFile 输出的路径(保存路径)
* @return
*/
public static boolean saveFile(byte[] b, String outputFile) {
BufferedOutputStream stream = null;
Boolean result = true;
try {
File file = new File(outputFile);
if(!file.exists()){
file.createNewFile();
}
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(b);
} catch (Exception e) {
System.out.println("上传文件出错:"+e);
result = false;
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e1) {
// logger.error("文件流关闭出错",e1);
}
}
}
return result;
}