java图片与byte数组的转换?我怎么转换不回去呀???

java图片与byte数组的转换?我怎么转换不回去呀???

问题描述:

[code="java"]
package com.image;

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;

import javax.imageio.ImageIO;

public class ImageWithByte {

 public static  byte[] image2Bytes(String imagePath) throws Exception {
     BufferedImage bu=ImageIO.read(new File(imagePath));
     ByteArrayOutputStream imageStream = new ByteArrayOutputStream();
     try {
         boolean resultWrite = ImageIO.write(bu, "jpg", imageStream);
     } catch (Exception e) {
         e.printStackTrace();
     }
     imageStream.flush();
     byte[] tagInfo = imageStream.toByteArray();

     return tagInfo;
    } 

public static void main(String[] args) throws Exception {
        byte[]info=image2Bytes("D:/我的文档/许女子.jpg");
        ByteArrayInputStream imageStream = new ByteArrayInputStream(info);
        BufferedImage image=ImageIO.read(imageStream);
        String newFilePath="d:/我的文档/图片收藏/许女子.jpg";
        //BufferedImage image=ImageIO.read(new File("D:/我的文档/许女子.jpg"));
        ImageIO.write(image, "jpg", new File(newFilePath));     
   }

}

[/code]

[code="java"]import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;

import javax.imageio.ImageIO;

public class TestImage {
public static byte[] toByteArray(File imageFile) throws Exception {
BufferedImage img = ImageIO.read(imageFile);
ByteArrayOutputStream buf = new ByteArrayOutputStream((int) imageFile.length());
try {
ImageIO.write(img, "jpg", buf);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return buf.toByteArray();
}

public static void main(String[] args) throws Exception {
    byte[] b = toByteArray(new File("d:/Wallpapers/003.jpg"));
    ByteArrayInputStream in = new ByteArrayInputStream(b);
    BufferedImage image = ImageIO.read(in);
    File newFile = new File("d:/Wallpapers/1.jpg");
    ImageIO.write(image, "jpg", newFile);
}

}[/code]

应该没问题的,检查你的文件路径。
如果有异常,把异常信息也贴出来