byte[] to file or file to byte[]

java 专栏收录该内容
54 篇文章 0 订阅
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * byte array to file or
 * file to byte array test
 *
 * @author jwang
 * @date 2013.4.24
 * @version 1.0
 */
public class FileToByteArray {

    private static final String FILE_PATH = "/root/Desktop/Word 2007.png";
    private static final String TO_PATH = "/root/Documents/new.png";

    public static void main(String[] args) {
        byte[] buff = fileToByteArrays();
        byteArrayToFile(buff);
    }
    
    /**
     * 文件转换为byte数组
     *
     * @author jwang
     * @date 2013.4.24
     * @return
     */
    public static byte[] fileToByteArrays() {
        byte[] buff = null;
        InputStream is = null;
        try {
            File file = new File(FILE_PATH);
            is = new BufferedInputStream(new FileInputStream(file));
            buff = new byte[is.available()]; // available适合于本地文件读取,不适用于网络文件
            is.read(buff);
        } catch (IOException ex) {
            Logger.getLogger(FileToByteArray.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                is.close();
            } catch (IOException ex) {
                Logger.getLogger(FileToByteArray.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return buff;
    }
    
    /**
     * 把byte数组转换为文件
     *
     * @author jwang
     * @date 2013.4.24
     * @param buff
     * @return
     */
    public static boolean byteArrayToFile(byte[] buff) {
        OutputStream os = null;
        try {
            File file = new File(TO_PATH);
            if (file.exists()) {
                file.delete();
            }
            os = new BufferedOutputStream(new FileOutputStream(file));
            os.write(buff);
            os.flush();
            return true;
        } catch (IOException ex) {
            Logger.getLogger(FileToByteArray.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                os.close();
            } catch (IOException ex) {
                Logger.getLogger(FileToByteArray.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return false;
    }
}


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值