JAvaは画像とbyteの相互変換を実現する

2447 ワード

これは画像ファイルで、ファイル名は1です.jpg. JAvaコード:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class TestImage {

     public static void main(String[] args) throws Exception
        {
            //       byte[]
            byte[] b1 =image2Bytes("d:\\1.jpg");
            //    
            buff2Image(b1,"d:\\test.jpg");

            System.out.println("Hello World!");
        }

     static void buff2Image(byte[] b,String tagSrc) throws Exception
        {
            FileOutputStream fout = new FileOutputStream(tagSrc);
            //       
            fout.write(b);
            fout.close();
        }

     static byte[] image2Bytes(String imgSrc) throws Exception
        {
            FileInputStream fin = new FileInputStream(new File(imgSrc));
            //    ,          ,           ,          byte[]
            byte[] bytes  = new byte[fin.available()];
            //           ,     case
            fin.read(bytes);

            fin.close();
            return bytes;
}

}

備考:アップロード画像を実現するには、画像をbyteバイトに変換した後、バイト配列に対してBase 64符号化処理を行うと、Base 64符号化されたバイト配列文字列になります.これでHttpURLConnection postで画像をアップロードできます.画像を受信すると、Base 64が復号化され、符号化前のバイトが復元され、画像に変換されるといいです.