java io流 数据流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream

例子程序:

package io;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class TestDataStream {

    public static void main(String[] args) {
        /**
         * 在内存里创建一个字节数组,ByteArrayOutputStream这根管道是怼到了内存上
         */
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        //将基本 Java 数据类型写入输出流中
        DataOutputStream dos = new DataOutputStream(baos);
        try {
            //写入double类型,8个字节
            dos.writeDouble(Math.random());
            dos.writeBoolean(true);//布尔类型1个字节

            /**
             * 相当于这根管道怼到了ByteArrayOutputStream上边。拿到了字节数组在内存的引用。
             */
            ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
            //输入流剩余可读字节数
            System.out.println(bais.available());//一共9个字节

            DataInputStream dis = new DataInputStream(bais);

            System.out.println(dis.readDouble());
            System.out.println(dis.readBoolean());

            /**
             * colse之后,内存的字节数组没了。
             */
            dos.close();
            dis.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

时间: 2024-10-13 12:25:06

java io流 数据流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream的相关文章

Java IO流 之 DataInputStream DataOutputStream

http://www.verejava.com/?id=16994690613914 package com.io2; import java.io.*; public class TestDataInputStream { public static void main(String[] args) { OutputStream os; try { //向文件中 以 int ,double,boolean ,String 存入数据 os = new FileOutputStream(new F

【Java】IO流--数据流--DataInputStream、DataOutputStream

DataInputStream 和 DataOutputStream1) 提供了可以存取所有 Java 基础类型数据(如:int,double等)和 String 的方法.2) 处理流,只针对字节流,二进制文件3) 输入流链和输出流链4) 注意:只要关闭上层流即可 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.

java io流 数据流传输

把这段当公式用就可以了 //数据流传输 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ //把这段当公式用就可以了 //不用记忆 ByteArrayOutputStream zjszl = new ByteArrayOutputStream(); DataOutputStream sjl = new DataOutputStream(zjszl); lon

IO流之DataInputStream/DataOutputStream

DataInputStream继承于InputStream,允许应用程序以与机器无关方式从底层输入流中读取基本Java数据类型. 提供了 readXXX():读取各种类型的数据 DataOutputStream继承于OutputStream,专门用于把基本java数据类型的数据写入输出流中. 提供了writeXXX():写入各种类型的数据 先写入基本java类型的数据. 1 public static void main(String[] args) throws IOException { 2

java常用IO流数据流小结

  类名 常用方法 说明 输入流 InputStream int read(); 只能读字节流,虽然返回值是int,但只有低8位起作用. DataInputStream Type readType(); 可以读二进制流,可以读byte,short,int,long,double等二进制流. BufferedReader String readLine(); 可以读文本行. 输出流 OutputStream void write(int); 只能写字节流,虽然形参是int,但只有低8为起作用. D

Java IO流详尽解析(转自 http://www.2cto.com/kf/201312/262036.html)

流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表.字节流和字符流的区别

学习笔记-java IO流总结 转载

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

Java IO流详尽解析(大神之作)

流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表.字节流和字符流的区别

Java IO流详尽解析

流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流.根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表.字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位,字符