`

ByteArrayOutputStream和ByteArrayInputStream详解

 
阅读更多

字节数组流:
ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。
 ByteArrayoutputStream bout=new ByteArrayOutputStream();
 bout.write(int a);  bout.write(int b);  bout.write(int c);
 byte[] buf=bout.toByteArray();//获取内存缓冲中的数据
 for(int i=0;i<=buf.length;i++)
 {
  System.out.println(buf[i]);
 }
 bout.close();
 注:通过调用reset()方法可以重新定位。

ByteArrayInputStream: 可以将字节数组转化为输入流
 ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
 int data=0;
 while( (b=bin.read())!=-1)
 {
  System.out.println(b);
 }
 bin.close();


与DataOutputStream&DataInputStream联合使用:
 
 ByteArrayOutputStream bout=new ByteArrayOutputStream();
 DataOutputStream dos=new DataOutputStream(bout);
 String name="suntao";
 int age=19;
 dos.writeUTF(name);
 dos.writeInt(age);
 byte[] buf=bout.toByteArray();//获取内存缓冲区中的数据
 dos.close();
 bout.close();


 ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
 DataInputStream dis=new DataInputStream(bin);
 String name=dis.readUTF();//从字节数组中读取
 int age=dis.readInt();
 dis.close();
 bin.close();
 
注:  DataInputStream&DataOutputStream还可以与FileInputStream&FileOutputStream

联合使用。

其中:

DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式.
 FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。

分享到:
评论

相关推荐

    io流详解代码

    - `ByteArrayInputStream`和`ByteArrayOutputStream`可以在内存中创建一个字节数组流,用于临时存储数据。 8. **异常处理**: - 在进行IO操作时,必须妥善处理`IOException`。通常,我们使用try-catch块来捕获并...

    Java中IO解读与使用实例-动力节点共17页.pdf

    3. ByteArrayOutputStream和ByteArrayInputStream:内存中的字节流,常用于临时存储数据。 4. PipedInputStream和PipedOutputStream:用于线程间的数据传递。 五、IO流的关闭 在完成IO操作后,一定要记得关闭流,...

    java_io详解

    具体的数据源类如`FileInputStream`、`FileOutputStream`、`ByteArrayInputStream`、`ByteArrayOutputStream`等,以及提供装饰功能的类如`BufferedInputStream`、`BufferedOutputStream`、`DataInputStream`、`...

    JAVA-IO详解,方法和例子

    - 输入流:ByteArrayInputStream、StringBufferInputStream、FileInputStream、PipedInputStream和SequenceInputStream。 - 输出流:ByteArrayOutputStream、FileOutputStream、PipedOutputStream和...

    JAVA IO流详解

    ### JAVA IO流详解 在Java编程中,IO流(Input/Output Stream)是处理输入输出操作的核心机制。本文将深入探讨Java IO流的基本概念、分类以及常见流的使用方法,帮助初学者理解并掌握这一重要知识点。 #### 一、...

    Java I/O层次结构详解

    - **ByteArrayInputStream和ByteArrayOutputStream**:在内存中读写字节流。 - **CharArrayReader和CharArrayWriter**:处理字符数组的读写。 8. **管道流(Pipe Stream)** - **PipedReader和PipedWriter**:线程...

    Java_IO流详解

    它们各自都有多个子类,如`FileInputStream`、`FileOutputStream`、`ByteArrayInputStream`、`ByteArrayOutputStream`等,以满足不同的数据处理需求。 - **Reader和Writer**:这些是字符流的基础,主要用于处理字符...

    java_IO 详解java_IO 详解

    `OutputStream` 是所有字节输出流的父类,其子类包括 `FileOutputStream`(用于写入文件)和 `ByteArrayOutputStream`(用于写入字节数组)等。在 Java 1.1 版本后,引入了 `Reader` 和 `Writer` 类,用于处理字符流...

    32.9、java io详解1

    在 Java 中,字节流和字符流都有着各自的类和方法,如 ByteArrayInputStream、ByteArrayOutputStream、BufferedReader、BufferedWriter 等。这些类和方法可以帮助开发者更方便地进行 IO 操作。 在实际开发中,需要...

    五,Android文件IO详解.doc

    - **内存流**:如ByteArrayInputStream和ByteArrayOutputStream用于在内存中处理数据。 - **字符串流**:StringReader和StringWriter用于字符串的读写。 - **管道流**:PipedInputStream和PipedOutputStream用于...

    JAVA-IO详解.txt

    ### JAVA-IO详解 #### 一、概述与基础概念 在Java编程语言中,输入输出(简称IO)处理是程序开发中的一个基本且重要的部分。Java IO系统主要由两大类构成:字节流(Byte Stream)和字符流(Character Stream)。这...

    Android中图片压缩方案详解样本.doc

    ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos); int options = 100; while (baos.toByteArray().length / 1024 &gt; 100) { baos.reset(); ...

    java输入输出流详解.doc

    - **`ByteArrayInputStream`** 和 **`ByteArrayOutputStream`**: 在内存中创建字节流。 - **`CharArrayReader`** 和 **`CharArrayWriter`**: 在内存中创建字符流。 #### 七、示例代码解析 在部分给定内容中,有一...

    详解Java中ByteArray字节数组的输入输出流的用法

    ByteArrayInputStream和ByteArrayOutputStream是Java IO体系中两个非常实用的类,它们分别用于处理字节数组的输入和输出。 **ByteArrayInputStream介绍** ByteArrayInputStream是InputStream的子类,它允许我们将...

    IO流详解学习

    ### IO流详解学习 #### 一、概述 IO流(Input/Output Stream)是Java编程语言中用于处理数据输入和输出的重要技术之一。通过IO流,开发者能够与外部世界进行数据交互,包括从文件系统、网络等处读取数据或将数据...

    Java对象的深克隆与浅克隆详解.zip(wcb2003)

    ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream.toByteArray()); ObjectInputStream in = new ObjectInputStream(inStream); MyClass cloned = (MyClass) in.readObject(); return ...

    java 中HttpClient传输xml字符串实例详解

    InputStreamEntity inputStreamEntity = new InputStreamEntity(new ByteArrayInputStream(out.toByteArray())); ``` 最后,我们需要使用HttpClient发送POST请求。首先,创建一个`CloseableHttpClient`实例,然后...

    javaio详解【2】.pdf

    例如,`FileInputStream`和`FileOutputStream`用于文件的读写,`ByteArrayInputStream`和`ByteArrayOutputStream`则允许在内存中操作字节流。字节流适用于处理任何类型的二进制数据,如图片、音频文件等。 字符流...

    Android中图片压缩方案详解及源码下载

    在Android开发中,图片压缩是一项重要的技术,尤其在处理大图片和多图片场景时,能够有效地防止因内存消耗过大导致的Out Of Memory (OOM)异常。本文将详细讲解两种常用的Android图片压缩方法,并提供源码供参考。 1...

Global site tag (gtag.js) - Google Analytics