15 IO流(十二)——数据流Data InputStream/OutputStream 未学会
数据流的引入
Data流的父类是Filter抽象基类,也就是说Data流是装饰流。
数据流可以将数据的类型也一起传输。
数据流的读取写入顺序(数据类型的读写顺序)需要一致。
未完成代码
/**
*Data流、数据流
*1.为了演示,我们先将数据写入数据流,再从中读取出来
*2.读取的顺序与写出保持一致
*DataInputStream
*DataOutputStream
*/
import java.io.*;
public class _01DataTest
{
public static void main(String[] args){
//声明流
ByteArrayOutputStream bos = null;
DataOutputStream dos= null;
ByteArrayInputStream bis = null;
DataInputStream dis = null;
try{
//定义Data输出流
bos = new ByteArrayOutputStream();//节点流
//定义了输出流但没有输出目的地,当然也可以有,比如写到文件去
dos = new DataOutputStream(new BufferedOutputStream(bos));
//先将数据写入输出流
byte[] data = {12,34,33,1};
//dos.write(data);//写入一个数组
dos.writeBoolean(false);//写入一个布尔值
dos.writeByte(101);//写入一个byte值
dos.writeShort(122);//写short值
dos.write(99);//写入Int型
dos.writeLong(990l);//写入long型
dos.writeFloat(123.1f);//写入float型
dos.writeDouble(123.3);//写入double型
dos.writeChar('我');//写入一个字符值
dos.writeChars("以前我没得选,现在我想做个好人");//将一个字符串作为字符序列写入
dos.writeUTF("I讨厌0,,,");
byte [] datas = bos.toByteArray();//将刚才的数据读出来
//定义Data输入流并将datas作为输入源
bis = new ByteArrayInputStream(datas);//datas作为Data输入流的源
dis = new DataInputStream(bis);
//再从输入流中读取数据
//byte[] result = new byte[1024];
//dis.read(result);
//System.out.println(result);
String utfResult = dis.readUTF();
System.out.println(utfResult);
boolean booleanResult = dis.readBoolean();
System.out.println(booleanResult);
}catch(IOException e){
e.printStackTrace();
}
}
}
在43行报错:EOFException 无法解决。
15 IO流(十二)——数据流Data InputStream/OutputStream 未学会的更多相关文章
- Java IO(十二) 字符流 Writer 和 Reader
Java IO(十二) 字符流 Reader和 Writer 一.介绍 涉及到文件(如果是纯文本文件形式)操作时,Java除了提供 FIle(文件和目录路径名的抽象表示形式) 和 FileDescri ...
- Java:IO流(二)——InputStream/OutputStream具体用法:FileXXXStream、ByteArrayXXXStream
1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStrea ...
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- JavaSE 学习笔记之IO流(二十二)
IO流:用于处理设备上数据. 流:可以理解数据的流动,就是一个数据流.IO流最终要以对象来体现,对象都存在IO包中. 流也进行分类: 1:输入流(读)和输出流(写). 2:因为处理的数据不同,分为字节 ...
- java基础(十九)IO流(二)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
- java IO流(二)
一.字符编码 char计算机存储的都是二进制数据,其实就是一个一个的数值字符要存储,就必须让这个字符对应一个数 将一个字符转成数字,这个过程就叫编码,反过来将一个数字转成字符就叫解码 中国大陆 (GB ...
- IO流(二)I/O
一.IO流概述 1.定义:Java的IO流是实现输入输出的基础,它可以方便地实现数据的输入/输出操作. 2.流的分类: (1)按流向来分:输入流和输出流 (2)按操作的数据来分:字节流和字符流 (3) ...
- IO流(二)
二.File类 概述 文件和目录路径名的抽象表示形式 构造方法 public File(String pathname) public File(String parent,String child) ...
随机推荐
- “OKR播种机”JOHN DOERR–目标是对抗纷乱思绪的一针疫苗
OKR培养出疯狂的想法,再加上对的人,奇迹就会出现 约翰·杜尔是美国最有影响力.最具创意.最不拘传统的冒险资本投资家之一.在短短10年内创造了高达1,000亿美元的经济价值.迄今为止,他已向 250家 ...
- BZOJ 3166: [Heoi2013]Alo 链表+可持久化trie
链表这个东西非常好用啊 ~ code: #include <bits/stdc++.h> #define N 50010 #define inf 2000400000 #define se ...
- CodeChef November Challenge 2019 Division 1题解
传送门 AFO前的最后一场CC了--好好打吧-- \(SIMGAM\) 偶数行的必定两人平分,所以只要抢奇数行中间那个就行了 这题怎么被爆破了 //quming #include<bits/st ...
- vue中父级与子组件生命周期的先后顺序
1.vue的生命周期 2.views/createrCustormer.vue为父级 <template> <expressService /> </ ...
- linux常用命令--实用小技巧
>查看端口是否被启动--netstat 命令:netstat -an | grep 4445结果:如果有tcp一行则代表端口是开放的,如果没有说明没有访问权限,端口未开放 一般的,在服务器上端口 ...
- SpringBoot定时任务@Scheduled
SpringBoot定时任务主要由两个注解完成. @Scheduled加在方法上面. @EnableScheduling加在类上面.可以是Application类,也可以是@Component类,还可 ...
- 剑指offer:数组中的逆序对
题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%100 ...
- NGINX心跳检测
NGINX心跳检测 upstream springboot { server 10.3.73.223:8080 max_fails=2 fail_timeout=30s; server 10.3.73 ...
- 关于资源获取(请把https改为http)
所有demo以及资源获取,请把https改为http.
- 第2课第7节_Java面向对象编程_内部类_P【学习笔记】
摘要:韦东山android视频学习笔记 1.什么是内部类:在类的内部定义一个类,内部类可以访问类的私有属性 class Outer{ ; class Inner{ public void print ...