您的位置:首页 > 其它

获取文件的byte数组与根据byte数组生成文件的工具类示例

2017-11-28 16:06 681 查看
public class ByteToFile {  

  

    //获得指定文件的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(1024);  

            byte[] b = new byte[1024];  

            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 File 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.mkdirs();  

            }  

            file = new File(filePath+File.separator+fileName);  

            fos = new FileOutputStream(file);  

            bos = new BufferedOutputStream(fos);

            bos.write(bfile);  

            bos.flush();

        } 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();  

                }  

            }  

        }  

        return file;

    } 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐