`
anson_xu
  • 浏览: 502261 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

文件转成流,流转为图片文件

阅读更多

package com.tcl.easybuy.utils;

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class PictureToStreamTransfer

 /**
  * 生成Byte流
  * TODO
  * @history
  * @knownBugs
  * @param
  * @return
  * @exception
  */
 public static byte[] getBytesFromFile(File file){
  byte[] ret=null;
  try{
   if (file==null){
    // log.error("helper:the file is null!");
    return null;
           }
           FileInputStream in=new FileInputStream(file);
           ByteArrayOutputStream out=new ByteArrayOutputStream(4096);
   byte[] b=new byte[4096];
   int n;
   while ((n= in.read(b))!=-1){
               out.write(b,0, n);
           }
           in.close();
           out.close();
           ret= out.toByteArray();
       }catch (IOException e){
   // log.error("helper:get bytes from file process error!");
  e.printStackTrace();
       }
  return ret;
   }
 /**
  * 把流生成图片
  * TODO
  * @history
  * @knownBugs
  * @param
  * @return
  * @exception
  */
 public static File getFileFromBytes(byte[] b, String outputFile){
       File ret=null;
       BufferedOutputStream stream=null;
  try{
           ret=new File(outputFile);
           FileOutputStream fstream=new FileOutputStream(ret);
           stream=new BufferedOutputStream(fstream);
           stream.write(b);
       }catch (Exception e){
   // log.error("helper:get file from byte process error!");    
   e.printStackTrace();
       }finally{
   if (stream!=null){
    try{
                   stream.close();
               }catch (IOException e){
     // log.error("helper:get file from byte process error!");
     e.printStackTrace();
               }
           }
       }
  return ret;
   }
 
 /**
     *@param args
     *@throws IOException*/
   public static void main(String[] args)throws IOException{
//        int byteread = 0;
//        File file = new File("2.GIF");
//        InputStream is = new FileInputStream(file);
//        byte[] buffer = new byte[1024];
//        while ((byteread = is.read(buffer)) != -1) {//一次读1444个字节放入buffer数组中
//            System.out.println(is.read(buffer));
//        }
        File file=new File("2.GIF");
        byte[] b= getBytesFromFile(file);
        getFileFromBytes(b,"22.jpg");

    }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics