突然发现ImageIO在读取复制图片的时候会是图片大小改变
如下:
File file=new File("F://a.png");
BufferedImage bufferedImage=ImageIO.read(file);
File files=new File("F://B.png");
ImageIO.write(bufferedImage, "png", files);
经测试用一般的文件流复制都不会出现这种情况,比如
1、FileInputStream
2、new FileInputStream("").getChannel(),
3、Apache Commons IO的方法FileUtils.copyFile(source, dest);
4、JDK7支持
private static void copyFileUsingJava7Files(File source, File dest)
throws IOException {
Files.copy(source.toPath(), dest.toPath());
}
都不会出现文件大小改变的情况。
总结原因:好神奇啊~~~