zoukankan      html  css  js  c++  java
  • java拓展----数据流

    目录

      1.数据流简介

      2.数据输出流的基本运用

      3.数据输入流的基本运用

    一、数据流简介

      数据流用到的java中的DataInputStream和DataOutputSteam这两个流。从这两个流的类型来看,这两个流是属于字节流的。

    java官方对数据流的定义是:数据流允许应用程序以与机器无关方式从底层输入(输出)流中读取基本 Java 数据类型。

    数据流的输入写入的数据和读出来的数据需要按照相同顺序读取。

    二、数据输出流的基本使用

      数据输出流与基本的读写不同,它能指定读写的数据类型。

    一下是数据输出流的Demo:

     1 package com.demo.io;
     2 /**
     3  * 数据输出流
     4  */
     5 import java.io.ByteArrayOutputStream;
     6 import java.io.DataOutputStream;
     7 import java.io.IOException;
     8 
     9 public class DataStreamDemo {
    10     public static void main(String[] args) throws IOException {
    11         //写入
    12         //创建一个字节数组输出流,将数据输出到数组中
    13         ByteArrayOutputStream bos = new ByteArrayOutputStream();
    14         //创建数据输出流
    15         DataOutputStream dos = new DataOutputStream(bos);
    16         //写入数据
    17         dos.writeBoolean(true);
    18         dos.writeUTF("这是编码");
    19         dos.writeInt(233);
    20         dos.writeDouble(12.3);
    21         dos.flush();
    22     }
    23 }

    三、数据输入流

      数据输入流能够读取java中的基本数据类型。但是读取数据的顺序需要与写入数据的顺序一样,否则会出现EOFException

    一下是数据输入流的Demo

     1 package com.demo.io;
     2 /**
     3  * 数据输出流
     4  */
     5 import java.io.ByteArrayInputStream;
     6 import java.io.ByteArrayOutputStream;
     7 import java.io.DataInputStream;
     8 import java.io.DataOutputStream;
     9 import java.io.IOException;
    10 
    11 public class DataStreamDemo {
    12     public static void main(String[] args) throws IOException {
    13         //写入
    14         //创建一个字节数组输出流,将数据输出到数组中
    15         ByteArrayOutputStream bos = new ByteArrayOutputStream();
    16         //创建数据输出流
    17         DataOutputStream dos = new DataOutputStream(bos);
    18         //写入数据
    19         dos.writeBoolean(true);
    20         dos.writeUTF("这是编码");
    21         dos.writeInt(233);
    22         dos.writeDouble(12.3);
    23         dos.flush();
    24         //读取
    25         //数据源
    26         byte[] b = bos.toByteArray();
    27         //创建字节数组输入流,数据源是刚刚写入的数组
    28         ByteArrayInputStream bis = new ByteArrayInputStream(b);
    29         //创建数据输入流
    30         DataInputStream dis = new DataInputStream(bis);
    31         //读取数据
    32         boolean boo = dis.readBoolean();
    33         String utf = dis.readUTF();
    34         int i = dis.readInt();
    35         double db = dis.readDouble();
    36         System.out.println("boolean:"+boo+"utf:"+utf+"double:"+db+"int:"+i);
    37     }
    38 }
  • 相关阅读:
    CentOS系统一键部署jdk,maven,tomcat,mysql
    使用sed在源文件上直接替换某一行的内容,只替换第一次找到的那行
    MLPerf 机器学习基准测试实战入门(一)NAVIDA-GNMT
    SpringBoot Controller接收参数的几种常用方式(转)
    使用延时队列DelayQueue
    Oracle、MySql、SQLServer 数据分页查询(转)
    SqlServer收缩日志
    防火墙升级导致产环境服务中止20小时的问题
    NFS相关
    jquery.validate不使用submit提交,而是使用button按钮提交
  • 原文地址:https://www.cnblogs.com/bananafish/p/10012469.html
Copyright © 2011-2022 走看看