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

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");

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值