`

InputStream to Byte[]

 
阅读更多
public static byte[] getBytes(InputStream is)
    throws Exception
    {
        byte[] data = null;
       
        Collection chunks = new ArrayList();
        byte[] buffer = new byte[1024*1000];
        int read = -1;
        int size = 0;
       
        while((read=is.read(buffer))!=-1)
        {
            if(read>0)
            {
                byte[] chunk = new byte[read];
                System.arraycopy(buffer,0,chunk,0,read);
                chunks.add(chunk);
                size += chunk.length;
            }
        }      
       
        if(size>0)
        {
            ByteArrayOutputStream bos = null;
            try
            {
                bos = new ByteArrayOutputStream(size);
                for(Iterator itr=chunks.iterator();itr.hasNext();)
                {
                    byte[] chunk = (byte[])itr.next();
                    bos.write(chunk);
                }
                data = bos.toByteArray();
            }
            finally
            {
                if(bos!=null)
                {
                    bos.close();
                }
            }
        }
        return data;
    }
分享到:
评论

相关推荐

    Blob、InputStream、byte 互转

    private byte[] inputStreamToByte(InputStream is) throws IOException { ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch; while ((ch = is.read()) != -1) { bytestream.write(ch)...

    Java 类型相互转换byte[]类型,Blob类型详细介绍

    private byte[] inputStreamToByte(InputStream is) throws IOException { ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch; while ((ch = is.read()) != -1) { bytestream.write(ch);...

    springboot 解决InputStream只能读取一次的问题

    byte[] buffer = new byte[1024]; int length; while ((length = originalInputStream.read(buffer)) != -1) { cachedStream.write(buffer, 0, length); } cachedStream.flush(); inputStream = new ...

    byte与各类型之间的转化

    public static byte[] intToByte(int number) { int temp = number; byte[] b = new byte[4]; for (int i = b.length - 1; i > -1; i--) { b[i] = new Integer(temp & 0xff).byteValue(); // 将最高位保存在最...

    InputStream与OutputStream及File间互转

    byte[] buffer = new byte[BUFFER_SIZE]; int read; while ((read = in.read(buffer)) != -1) { out.write(buffer, 0, read); } out.flush(); // 使用Apache Commons IO IOUtils.copy(inputStream, ...

    Java String与Byte类型转换

    在Java编程中,String对象和Byte类型的转换是常见的操作,特别是在网络编程中,因为网络通信通常涉及字节流的处理。下面将详细讲解Java中如何进行这两种类型之间的转换,并探讨其在网络编程中的应用。 首先,让我们...

    字节流工具

    - 将byte数组转换为InputStream:可以创建一个ByteArrayInputStream对象,传入byte数组作为构造参数,这样就可以通过InputStream进行读取操作。 3. **字节流工具的使用** - 文件读写:使用FileInputStream和...

    image to pdf demo

    这个"image to pdf demo"示例提供了实现这一功能的方法,特别是通过输入流(inputStream)将图片转换为字节数组(byte[]),再进一步合成PDF文档。下面我们将详细探讨这个过程涉及的关键知识点。 1. 图片处理:首先...

    c# 流断点上传

    int upLoadLength = Convert.ToInt32(HttpContext.Current.Request.InputStream.Length); string file = HttpContext.Current.Server.MapPath("/" + fileName); //string path = HttpContext.Current.Server....

    Java语言程序设计基础篇课后题答案-Chapter18BinaryI_O.pdf

    14. Similarly, to write to a binary file using `FileOutputStream`, you initialize a `FileOutputStream` object with the desired file path, then call the `write(int)` method to write a byte to the file....

    文件类型判断java

    try (InputStream inputStream = new FileInputStream("path_to_your_file")) { System.out.println(judgeFileType(inputStream)); } catch (FileNotFoundException e) { e.printStackTrace(); } } } ``` 接...

    ScalaJavaIoExtras:一些额外的集成使Scala中使用java.io更加容易

    Java Io Extras 这是一个库,用于在Scala和java.io之间进行额外的集成,这应该使在Scala中使用java.io更加容易。 特征 java.io.InputStream集成 用法: ...import java ....// convert an Iterator[Byte] to an I

    webservice4 二进制文件读取

    在上述例子中,`uploadWithByte`方法接收一个`byte[]`数组并写入文件,而`uploadWithDataHandler`方法则使用`DataHandler`对象,通过调用其`writeTo`方法将数据写入文件。`writeInputStreamToFile`方法是一个辅助...

    Java 文件读取器

    在这个场景中,我们关注的是Java中的两种主要文件读取类:`InputStream`和`FileReader`。它们各自有不同的用处和特点,下面将详细阐述这两个类以及它们在实际应用中的使用。 `InputStream`是Java IO流中的一个基础...

    c#加密指定的txt文件

    inputStream.CopyTo(cryptoStream); } } } } ``` 这段代码定义了一个名为`EncryptFile`的函数,它接受输入文件路径、输出文件路径以及加密所需的密钥和初始化向量(IV)。AES算法要求密钥和IV必须是特定长度的...

    Java文件处理工具类--FileUtil

    public static byte[] readFileBinary(InputStream streamIn) throws IOException { BufferedInputStream in = new BufferedInputStream(streamIn); ByteArrayOutputStream out = new ByteArrayOutputStream...

    安卓开发-Android 在线下载压缩包并解压到指定目录.zip

    InputStream inputStream = response.body().byteStream(); File outputFile = new File("/path/to/download/your-zip-file.zip"); FileOutputStream fileOutputStream = new FileOutputStream(outputFile); ...

    Java多线程文件分片下载实现的示例代码

    byte[] buffer = new byte[1024 * 1024]; int readCount = inputStream.read(buffer, 0, buffer.length); // ... } catch (Exception e) { e.printStackTrace(); } } } 通过这个示例代码,我们可以创建多个...

    2021-2022计算机二级等级考试试题及答案No.17518.docx

    7. InputStreamReader is a Java class used to convert a byte stream (InputStream) into a character stream (Reader), facilitating the reading of text data in different character encodings. 8. In Java, ...

    Socket粘包问题终极解决方案-Netty版.docx

    public byte[] toBytes(String context) { // 协议体 byte 数组 byte[] bodyByte = context.getBytes(); int bodyByteLength = bodyByte.length; // 最终封装对象 byte[] result = new byte[HEAD_SIZE + ...

Global site tag (gtag.js) - Google Analytics