Java 文件和byte数组转换

/**
     * 获得指定文件的byte数组
     */
    private 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();
                }
            }
        }
    }  

 

时间: 2024-10-27 17:06:42

Java 文件和byte数组转换的相关文章

读取Java文件到byte数组的三种方法(总结)_java

读取Java文件到byte数组的三种方法(总结) package zs; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.Rando

字符-java 中byte数组转换问题,求思路

问题描述 java 中byte数组转换问题,求思路 现在做的项目有一个byte数组转换的问题,思考很久没有思路,求各路大神给点意见. 需求 :将一个byte数组中的每个元素拆分成两个byte.分别保存前一个byte中的16进制两位的内容的ascii码. 事例 : byte[] a = {0x24,0xBD}; byte[] b = new byte[4]; 想得到的结果: b[0] == 0x32; b[1] == 0x34; b[2] == 0x42; b[3] == 0x44;

java代码将一个byte数组封装成url,可以直接访问网络下载

问题描述 java代码将一个byte数组封装成url,可以直接访问网络下载 1.我从别的地方能且只能得到一个byte数组和一个文件名,此数组原本是一个doc文件, 2.我现在要将这个数组封装成url下载地址,就是直接在浏览器中输入地址就能直接下载的那种 3.我用的语言是java,服务器是tomcat 各位大神,救命! 解决方案 换个思路,不是组装成url,而是在给定一个selevet,然后在相应的response写回数据.还有要在response返回时设置相应的header参数. Content

string-c++中怎么将本地图片转化成java需要的byte数组

问题描述 c++中怎么将本地图片转化成java需要的byte数组 c++调用java写的webservice时,需要传入一个本地图片转化为byte数组的数据,求大神给讲一下. 这是java写的webservice接口方法. public String verifyFaceSingle(String deviceId,byte[] leftImage,byte[] rightImage); 现在需要在vs2010里面获取byte[] leftImage. Serializer->StartElem

java 如何将一个byte[]数组分成多个部分发送?

问题描述 java 如何将一个byte[]数组分成多个部分发送? 现在一个项目,是要求手机端向智能手表发送byte[]数组,一个很大的byte数组,比如16*1024个字节,如何分成多个部分,比如每个部分都是200字节,然后把这几个部分一部分部分的发到手表端,就是byte[]数组分块,发送的函数怎么来写呀!?谢谢各位大神了! 解决方案 Arrays.copyOfRange可以复制你的数组的一块构成新的数组 你循环调用就可以了 解决方案二: 参考http://www.yiibai.com/java

深入 JAVA里面关于byte数组和String之间的转换问题

把byte转化成string,必须经过编码.  例如下面一个例子:  importjava.io.UnsupportedEncodingException; publicclass test{ publicstatic void main(String g[]) { Strings = "12345abcd"; byteb[] = s.getBytes(); Stringt = b.toString(); System.out.println(t); } } 输出字符串的结果和字符串s

使用C# 将符合webp格式的Byte数组转换成 jpg 格式数组

问题描述 目前遇到一个问题,就是要在获得图片的时候看这个数组是不是webp格式,如果是我想把它转换成jpg格式的byte数组.webp格式的使用BitMap不能识别 解决方案 解决方案二: 解决方案三:自己已经解决,可惜不能给自己分解决方案四:遇到同样问题,怎么解决的?webp转jpg格式解决方案五:已经解决也不说怎么解决,能给自己分也不配给.

java图片与byte数组的转换?我怎么转换不回去呀???

问题描述 package com.image;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import javax.imageio.ImageIO;public class ImageWithByte { public static byte[] image2Bytes(String

C#下怎么从指针指向的byte数组转换成bitmap类型

问题描述 如题,用的Basler家的GiE相机,使用官方提供的库文件,抓取图像后返回图像数组指针到主窗口下,希望显示在PictureBox控件,请指教-具体点的话,数组长度和图像分辨率是已知的,8位灰度图像,数组为一维Byte类型的数组,按行存储,一个Byte就是一个像素点:这里实现了再改用12位量化来提高测量的精度.C#下返回一个IntPtr类型的指针上位机接触不多,还请多指教 解决方案 解决方案二:建议两种方法你可以试一下,1.确定图像大小,setpixel逐点设置:2.lockbits,指