`
songbin0201
  • 浏览: 323101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java IO 篇之 ByteArrayOutputStream

 
阅读更多
创建缓冲区,将要写入输出流的数据通过缓存的方式一次性写入
写入输出流的方法如下:
 void writeTo(OutputStream out)
 String toString()


    public ByteArrayOutputStream() {
	this(32); /** 创建一个默认长度为32字节数组 */
    }


    public ByteArrayOutputStream(int size) {
        if (size < 0) {
            throw new IllegalArgumentException("Negative initial size: "
                                               + size);
        }
	buf = new byte[size]; /** 创建指定长度的字节数组*/
    }


public synchronized void write(int b) {
	int newcount = count + 1;
	if (newcount > buf.length) {
            buf = Arrays.copyOf(buf, Math.max(buf.length << 1, newcount));
	} /** 写入的字节长度超过数组长度,自动扩展数组长度 */
	buf[count] = (byte)b;
	count = newcount;
    }


public synchronized void write(byte b[], int off, int len) {
	if ((off < 0) || (off > b.length) || (len < 0) ||
            ((off + len) > b.length) || ((off + len) < 0)) {
	    throw new IndexOutOfBoundsException();
	} else if (len == 0) {
	    return;
	}
        int newcount = count + len;
        if (newcount > buf.length) {
            buf = Arrays.copyOf(buf, Math.max(buf.length << 1, newcount));
/** 根据要写入的多个字节长度,扩展字节数组长度*/
        }
        System.arraycopy(b, off, buf, count, len); /** 读取多个字节,写入字节数组中*/
        count = newcount;
    }


public synchronized void writeTo(OutputStream out) throws IOException {
	out.write(buf, 0, count); /** 将字节数组中的数据,写入类型为OutputStream的任意输出流中 */
    }
分享到:
评论

相关推荐

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

    javaIO详细讲解+详细案例

    ### Java IO 流详解 #### 一、Java IO 流概念及作用 Java IO(Input/Output)流是Java编程语言中的一个重要组成部分,主要用于处理数据的输入与输出。流(Stream)可以理解为一组有序的、有起点和终点的字节集合,...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...

    Java IO流 总结

    Java IO流总结 Java IO流是Java语言中最基本和最重要的输入/输出机制,负责将数据从外部世界输入到Java应用程序中或将数据从Java应用程序输出到外部世界。IO流可以分为两大类:字节流和字符流。 1. 节点流:离数据...

    Java IO

    Java IO的基本概念之一是流,它是一种数据传输的方式。Java中的流被抽象成一系列连续的数据元素,这些数据元素可以是字节或字符。流分为两种基本类型:输入流和输出流。输入流是从外部源读取数据到程序,而输出流则...

    通俗易懂的javaIO讲解

    ### 通俗易懂的Java IO讲解 在Java中,输入输出流(IO)是一个非常重要的概念,它涉及到了数据如何从一个地方传输到另一个地方。本文将深入浅出地介绍Java IO的基础概念,并通过实例帮助读者更好地理解这些概念。 ...

    深入分析javaIO的工作机制.doc

    在现代软件开发中,输入/输出(Input/Output,简称IO)是至关重要的一个环节,它不仅关乎着程序与外部世界的交互,更是影响应用程序性能的关键因素之一。随着大数据时代的到来,高效的IO处理能力变得尤为重要。Java...

    java io流PPT课件.pptx

    Java IO流是Java编程语言中用于处理输入输出操作的核心组件,尤其在文件操作、设备交互以及数据传输方面扮演着重要角色。在Java中,IO流的概念首次被引入是为了方便数据在不同源和目的地之间流动,它将各种I/O操作...

    Java IO流文档

    在Java中,输入输出流(简称IO流)是用来处理文件读写的核心技术之一。它主要包括两类:以字节为导向的流和以字符为导向的流。 ##### 1.1 以字节为导向的流 以字节为导向的流是指按照字节来进行数据读写的流,适用...

    《JAVA_IO流学习总结》

    Java IO流是Java平台核心特性之一,它负责在程序与外部资源之间传输数据。这个概念在Java编程中至关重要,因为它提供了处理输入(读取)和输出(写入)的机制,无论是从键盘、文件、网络还是其他数据源。在本文中,...

    javaIO(java中的流的介绍)

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了一种机制,允许程序与外部资源(如文件、网络、硬件设备等)进行数据交换。在Java中,流(Stream)是IO系统的核心概念,...

    java_io详解

    ### Java IO详解 #### 1. 什么是IO 在计算机科学中,IO(Input/Output,输入/输出)指的是程序与外部系统之间进行数据交换的过程。在Java中,IO操作主要通过`java.io`包来实现,这个包包含了用于文件读写、标准...

    JAVA课件Java IO.ppt

    3. **节点流**:这些流直接与数据源或目的地相连,如文件流(`FileInputStream`和`FileOutputStream`)和内存流(如`ByteArrayInputStream`和`ByteArrayOutputStream`)。它们负责实际的数据传输操作。 4. **过滤器...

    JAVA IO流宝典

    本篇文章将深入探讨Java IO流的基本概念、分类、使用方法及其之间的区别,帮助你全面掌握这一重要知识领域。 首先,我们要了解什么是IO流。IO流在Java中是指数据的输入(Input)和输出(Output)流,它们负责在程序...

    java io tutorial overview

    ### Java IO 教程概述:理解输入与输出 在深入探讨Java IO(输入输出)教程之前,我们首先需要澄清一个常见的概念混淆:“输入”与“输出”。这两个术语在不同的上下文中可能让人感到迷惑,尤其是在软件工程领域。...

    Java,彻底明白Java语言中的IO系统

    字节流是Java IO系统中最基本的流类型之一,它主要用于处理二进制数据。字节流分为输入流和输出流两大类: - **输入流**:从源端读取字节数据。主要类包括: - `ByteArrayInputStream`:从内存数组读取数据。 - `...

    java io 流,文件读取操作

    Java IO 流、文件读取操作 Java IO 流是 Java 语言中的一种基本输入/输出机制,它提供了多种方式来处理输入/输出操作。在 Java 中,IO 流可以分为两大类:字节流和字符流。字节流主要用于处理二进制数据,而字符流...

Global site tag (gtag.js) - Google Analytics