ITPub博客

首页 > IT职业 > IT生活 > Java 文件和byte数组转换

Java 文件和byte数组转换

IT生活 作者:supersea 时间:2021-09-09 08:57:48 0 删除 编辑

public class T3 {

public static void main(String[] args){  
    String filePath = "E:\softoon\workspace_softoon\TestMobile\src\1.docx";  
    String outFilePath = "E:\softoon\workspace_softoon\TestMobile\src";  
    String outFileName = "2.docx";  

    getFile(getBytes(filePath),outFilePath,outFileName);  
}  

/** 
 * 获得指定文件的byte数组 
 */  
public static byte[] getBytes(String filePath){  
    byte[] buffer = null;  
    try {  
        File file = new File(filePath);  
        FileInputStream fis = new FileInputStream(file);  
        ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);  
        byte[] b = new byte[1000];  
        int n;  
        while ((n = fis.read(b)) != -1) {  
            bos.write(b, 0, n);  
        }  
        fis.close();  
        bos.close();  
        buffer = bos.toByteArray();  
    } catch (FileNotFoundException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
    return buffer;  
}  

/** 
 * 根据byte数组,生成文件 
 */  
public static void getFile(byte[] bfile, String filePath,String fileName) {  
    BufferedOutputStream bos = null;  
    FileOutputStream fos = null;  
    File file = null;  
    try {  
        File dir = new File(filePath);  
        if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在  
            dir.mkdirs();  
        }  
        file = new File(filePath+"\"+fileName);  
        fos = new FileOutputStream(file);  
        bos = new BufferedOutputStream(fos);  
        bos.write(bfile);  
    } catch (Exception e) {  
        e.printStackTrace();  
    } finally {  
        if (bos != null) {  
            try {  
                bos.close();  
            } catch (IOException e1) {  
                e1.printStackTrace();  
            }  
        }  
        if (fos != null) {  
            try {  
                fos.close();  
            } catch (IOException e1) {  
                e1.printStackTrace();  
            }  
        }  
    }  
}  

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2650/viewspace-2798224/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    90
  • 访问量
    804