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

ByteArrayInputStream的学习

阅读更多

InputStream表示字节输入流,是抽象类不能被实例化。所有的字节输入流都是它的子类或者间接子类。

ByteArrayInputStream,字节数组输入流,从内存中的字节数组中读取数据,它的数据源是一个字节数组。ByteArrayInputSteam采用了适配器设计模式,把字节数组类型转换为了输入流类型。

使用范例:

    public static void main(String[] args) throws IOException {

       byte[] buf = new byte[]{23,-9,-1,24,127};

       InputStream stream = new ByteArrayInputStream(buf);

       int data = stream.read();

       while(data != -1){

           System.out.println(data);

           data = stream.read();

       }

    }

输出结果:

23

247

255

24

127

注意:

ByteArrayInputStream它只能读取byte数组中的数组,且byte的取值范围在-128~127之间。此输入流在读取字节时进行了转换,byte-1的二进制表示为:11111111,转换为Int类型时为:00000000 00000000 00000000 11111111,此值为int型的255,所以输出结果为255-9是同样的道理。

此处做的转换和byte提升为int类型时所做的转换是不一样的。

byte b = -1;

int i = b;

此时i的值依旧为-1.

分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第16天-04.ByteArrayInputStream-ByteArrayOutputStream.zip

    今天我们要深入学习的是Java中的两个重要类:ByteArrayInputStream和ByteArrayOutputStream,它们属于Java.io包,是处理内存中字节数组的流对象。 ByteArrayInputStream是InputStream的一个子类,它允许我们从字节...

    java学习大纲java学习大纲.doc

    位元串流还包括SequenceInputStream、PrintStream、ByteArrayInputStream和ByteArrayOutputStream等。字元串流如Reader和Writer处理字符流,例如InputStreamReader和OutputStreamWriter,FileReader和FileWriter,...

    jAVA程序设计基础PPT教案学习.pptx

    ByteArrayInputStream、ByteArrayOutputStream、FileInputStream、FileOutputStream、FilterInputStream、SequenceInputStream等都是流类的子类,每个子类都提供了不同的流处理功能。 通过这份PPT教案学习,学生...

    Java学习总结

    - **ByteArrayInputStream**:用于处理字节数组的输入流。 - **多线程**:Java多线程允许程序在同一时间执行多个任务,提高了程序的效率和响应速度。 #### 四、Java提高篇 - **正则表达式**:正则表达式是一种强大...

    《JAVA_IO流学习总结》

    Java IO流是Java平台核心特性之一,它负责在程序与外部资源之间传输数据。这个概念在Java编程中至关重要,...通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序提供高效、稳定的数据处理能力。

    Java基础学习29.pdf

    字节流包括InputStream、OutputStream及其子类,如FileInputStream、ByteArrayInputStream等;字符流包括Reader、Writer及其子类,如BufferedReader、FileReader等。它们分别处理字节和字符,满足不同类型的输入输出...

    Java IO学习总结归纳(附代码)

    - `ByteArrayInputStream`和`ByteArrayOutputStream`则用于内存中的字节流操作。 ### 3. 字符流 字符流包括`Reader`和`Writer`类。如: - `FileReader`和`FileWriter`处理文本文件。 - `BufferedReader`和`...

    javaio流学习总结范文.doc

    6. ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); 7. System.out.println(bais.available()); 8. DataInputStream dis = new DataInputStream(bais); ``` 这段代码创建了一个...

    初一数学输入输出PPT学习教案.pptx

    Java提供了多种字节流的子类,如ByteArrayInputStream、FileInputStream、FilterInputStream等,它们构成了字节输入流的层次结构,输出流类似。字符流则更适合处理文本数据,如StringReader、FileReader、...

    java学习笔记之Java-IO操作共19页.pdf.zi

    - 内存流如ByteArrayInputStream和ByteArrayOutputStream,它们在内存中读写数据,适用于小规模数据操作。 8. **字符编码与解码** - Java默认使用UTF-8编码,InputStreamReader和OutputStreamWriter可以指定字符...

    IO流详解学习

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

    【IT十八掌徐培成】Java基础第16天-03.串行化-深度复制.zip

    通过学习这部分知识,开发者能够更好地理解Java中对象的状态保存与传递,以及如何处理复杂对象结构的复制问题。在实际项目中,这些技能对于数据持久化、网络通信以及对象拷贝等方面都至关重要。

    Java之IO流学习总结

    在字节流中,InputStream是所有输入字节流的抽象基类,常见的子类有ByteArrayInputStream、FileInputStream等。OutputStream是所有输出字节流的抽象基类,其常见子类包括ByteArrayOutputStream、FileOutputStream等...

    文件转换(inputString)

    对于提供的文件"String与InputStream相互转换 - hanqunfeng的专栏 - CSDN博客_files"和"String与InputStream相互转换 - hanqunfeng的专栏 - CSDN博客.html",它们可能是详细的教程或示例代码,可以帮助进一步学习和...

    java i/o 实例 编程 学习 教程 复习

    DataInputStream in3 = new DataInputStream(new ByteArrayInputStream(s2.getBytes())); while (true) System.out.println((char) in3.readByte()); ``` **解析:** 1. **创建 `DataInputStream` 对象:** 使用 `...

    JavaIO流学习总结.pdf

    例如,InputStream是所有字节输入流的基类,包括ByteArrayInputStream、FileInputStream等,它们分别从字节数组、文件等来源读取数据。OutputStream则是所有字节输出流的基类,例如ByteArrayOutputStream、...

    JAVA解析PPT教案学习.pptx

    常用的节点流包括与文件操作相关的FileInputStream和FileOutputStream,以及处理内存数据的ByteArrayInputStream和ByteArrayOutputStream。处理流则包括BufferedInputStream、BufferedOutputStream、DataInputStream...

Global site tag (gtag.js) - Google Analytics