private static BufferedImage decodeIn(String targetFilePath) throws Exception{
BufferedImage buffImg = null;
String extName=FileUtil.getFileFormat(targetFilePath);
String fileName=FileUtil.getFileName(targetFilePath);
String fronName=FileUtil.getFrontName(fileName);
String jpegPath=targetFilePath.replace(fileName,fronName+".jpeg");
if(!extName.toLowerCase().equals("bmp")){
toJPG(targetFilePath, jpegPath);
}else{
bmpTojpg(targetFilePath, jpegPath);
}
FileInputStream jpegIs = new FileInputStream(jpegPath);
buffImg = ImageIO.read(jpegIs);
return buffImg;
}
private static void encodeOut(String beWaterMarkFilePath,BufferedImage buffImg){
OutputStream os = null;
try {
os = new FileOutputStream(beWaterMarkFilePath);
ImageIO.write(buffImg,"jpeg",os);
} catch (Exception e) {
throw new BizException(BizCode.NOT_DEFINE_CODE,"FileNotFoundException水印文件"+beWaterMarkFilePath+"不存在!");
}finally{
try {
if(os!=null){
os.close();
}
} catch (IOException e) {
log.info("IO流关闭异常");
}
}
}
JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(jpegIs);
buffImg = jpegDecoder.decodeAsBufferedImage();
**替换成**
**buffImg = ImageIO.read(jpegIs);**
JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os);
en.encode(buffImg);
**替换成**
**ImageIO.write(buffImg,"jpeg",os);**