DataInputStream与InputStream区别

IO流:字节流、字符流、流的总结、DataInputStream、序列化和反序列化 1:IO介绍 编写程序,数据最终都内存中,变量,int a = 10; 数组、字符串、集合,这些容器都可以存放数据,但是它们把数据都存放在内存中,一旦程序停止运行,JVM退出。那么给JVM分配的内存空间就消失了,在整个程序中的数据就没有了。 内存属于临时存储设备,断电、程序运行结束,内存释放,数据就消失。 持久化存储设备:数据可以这类设备上长久的保存。硬盘、U盘、光盘、磁带、软盘、云盘等。这些设备都可以长久的保存数据,当需要数据的时候,可以到这些设备上获取数据。 IO技术:把程序中的数据最终输出到持 阅读详情

1、DataInputStream类继承了InputStream。也就是说DataInputStream是InputStream的子类。但它们同是实现了DataInput接口。

2、DataInputStream比普通的InputStream多一些方法。
增加方法如下:

public abstract void readFully(byte abyte0[])
        throws IOException;

    public abstract void readFully(byte abyte0[], int i, int j)
        throws IOException;

    public abstract int skipBytes(int i)
        throws IOException;

    public abstract boolean readBoolean()
        throws IOException;

    public abstract byte readByte()
        throws IOException;

    public abstract int readUnsignedByte()
        throws IOException;

    public abstract short readShort()
        throws IOException;

    public abstract int readUnsignedShort()
        throws IOException;

    public abstract char readChar()
        throws IOException;

    public abstract int readInt()
        throws IOException;

    public abstract long readLong()
        throws IOException;

    public abstract float readFloat()
        throws IOException;

    public abstract double readDouble()
        throws IOException;

    public abstract String readUTF()
        throws IOException;

 

3、文件存取,有时只是要存储一个对象的成员数据,而不是整个对象的信息,成员数据的类型假设都是Java的基本数据类型,这样的需求不必要使用到与Object输入、输出相关的流对象,可以使用DataInputStream、DataOutputStream来写入或读出数据。

在从文件中读出数据时,不用费心地自行判断读入字符串时或读入int类型时何时该停止,使用对应的readUTF()或readInt()方法就可以正确地读入完整类型数据。同样地,DataInputStream、DataOutputStream并没有改变InputStream或OutputStream的行为,读入或写出时的动作还是InputStream、OutputStream负责。DataInputStream、DataOutputStream只是在实现对应的方法时,动态地为它们加上类型判断功能,在这里虽然是以文件存取流为例,实际上可以在其他流对象上也使用DataInputStream、DataOutputStream功能。
 

出处:
https://blog.youkuaiyun.com/yy_love_my/article/details/26609613

Python+Appium实现泛微OA自动打卡:5分钟搭建移动端自动化脚本 移动端自动化测试是软件测试与办公自动化领域的重要技术方向,其核心原理是通过程序模拟用户对手机应用界面的操作,实现重复性任务的自动执行。Appium作为主流的开源移动端自动化框架,基于WebDriver协议,支持跨平台且无需修改被测应用,为自动化脚本开发提供了标准化接口。在工程实践中,结合Python简洁的语法和丰富的生态,可以快速构建稳定可靠的自动化解决方案。这一技术组合的价值在于能够高效处理“重复性、低价值、高频率”的日常操作,例如考勤打卡、数据填报等办公场景,显著提升工作效率。本文以泛微OA Emobi 阅读详情

相关推荐

C++常见面试题总结

C++常见面试题总结

xu_fu_yong的专栏 8万+

学习博客:DataInputstream的使用

//可以读写基本数据类型的数据 // 数据输入流: DataInputStream // DataInputstream (InputStream in) // 数据输出流: Da taOutputStream // DataOutputStream (OutputStream out ) package cn.study_01; import java.io.*; public class DateStreamDemo { publi

qq_42388853的博客 4185

win11本地部署openclaw实操第1集

OpenClaw 是一款开源、本地优先、可自托管的 AI 智能体(AI Agent)网关 / 自动化框架,核心是让 AI 从 “只聊天、给建议” 变成 “能在你电脑上真做事” 的数字助手。

weixin_44626085的博客 7127

DataInputStream 源码分析

DataInputStream 介绍 DataInputStream 是数据输入流。它继承于FilterInputStream。 DataInputStream 是用来装饰其它输入流,它“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”。应用程序可以使用DataOutputStream(数据输出流)写入由DataInputStream(数据输入流)读取的数据。 Dat

地平线的专栏 1389

Lmbench测试集 --- 延迟测试工具lat_mem_rd

lmbench测试集简介 以及 lat_mem_rd延迟测试工具: 如何测试、测试结果、源码分析

MonologueYY的博客 1万+

差分放大电路的计算

反馈,对于运算放大电路来说,运放工作在线性区,所以这里一定是负反馈,没有反馈(开环)或者是正反馈,那是比较器电路而不是放大电路,这时候运放工作在饱和区或称为非线性工作区,正因为饱和,输出才是电源电压的幅值。图2是一种带正反馈的运放电路,这里就不能叫运算放大电路了,因为运放的开环放大倍数理想是无限大,当然实际中不可能无限大,所以如下结构是迟滞电压比较器,运放工作在非线性区或饱和区。实际应用电路中,我们为了简化计算,也是用最简方法计算,经常使用的电路也是上述电路,令电阻相等关系,简化计算。

qq_40170041的博客 353

Java-DataInputStream介绍

Java的DataInputStream是一个输入流,它允许应用程序从底层输入流中以字节为单位读取基本数据类型的数据。它提供了一系列的read方法,可以读取不同类型的数据,例如字节、字符、整数、浮点数等。DataInputStream是一个装饰器模式的典型应用,它包装了底层的输入流,并提供了更方便的方法来读取数据。它还提供了用于读取UTF-8编码的字符串的方法。使用DataInputStream时,要注意读取数据的顺序必须与写入数据的顺序相匹配。否则,读取数据可能会出现错误。

架构师之路。。 2795

Dr_can Kalman Filter学习笔记(一)

本文是在b站Dr_can的卡尔曼滤波课程学习过程中的学习笔记

苏大侠的博客 1051

数据输入输出流(I/O)

数据输入输出流也是将文件输入输出流打包后使用的对象。相比于文件输入输出流,数据输入输出流提供了简单易用的方法去操作不同类型的数据;自身采用缓冲区机制,提高运行效率。数据输入输出流适用于对内存中的数据进行读写操作,简单易用,而文件输入输出流适用于对文件进行读写操作,具有更好的性能和对大文件的支持。以上就是数据输入输出流的简单使用,输入输出流提供的方法可以使我们快速便捷地将数据写入文件或读取文件信息。

weixin_74141222的博客 1998

LabView实战:精准实现float到十六进制的转换与高低位拆分

本文详细讲解了在LabVIEW中实现单精度浮点数(float)到十六进制字符串转换,并进行高低16位拆分的实战方法。针对工业通信中设备协议要求,核心使用强制类型转换(Type Cast)获取内存原始数据,避免数值转换错误,并提供了完整的VI构建步骤、交叉验证技巧及常见踩坑经验(如字节序、字符串格式),确保数据通信的准确性。

assembly8low的博客 1767

基于STM32的智能婴儿床控制系统设计(手机APP+蓝牙无线控制)(210)

项目充分运用先进的嵌入式技术和物联网理念,打造出一款集安全性、便利性、舒适性于一体的智能婴儿床控制系统,旨在减轻育儿负担,提高育儿效率,保障婴幼儿健康成长,满足现代家庭对高品质育儿生活的追求。

3478

InputStream与DataInputStream的区别

DataInputStream是InputStream的子类....

我依然爱你,只是不再喜欢你了! 8793

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

InputStream与DataInputStream区别

DataInputStream类继承了InputStream,同是实现了DataInput接口,也就是说比普通的InputStream多一些方法。  增加方法如下:  public abstract void readFully(byte abyte0[])          throws IOException;      public abstract void readFul

穿着裤衩跳 1006

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

DataInputStream与InputStream

748

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

JAVA学习-IO.InputStream类型

Java的IO库提供了多个实现了InputStream类的子类,以便于从不同的源读取数据。

weixin_69763181的博客 506

android InputStream相关类

InputStream 作用:用来表示哪些从不同数据源产生输入的类,这些数据源包括:字节数组、String对象、文件、“管道”、一个由其他种类的流组成的序列、其他数据源(如internet链接等) 1、inputstream是最原始的,专注了核心功能,此抽象类是表示字节输入流的所有类的超类; 2、inputstreamreader是核心功能的装饰,提供了更封装的方法;inputstr...

weixin_30437481的博客 290

ByteArrayXXXputStream、InputStream的read()方法

字节数组流:ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。ByteArrayoutputStream bout=new ByteArrayOutputStream();bout.write(int a);  bout.write(int b);  bout.write(int c);byte[] buf=bout.toByteArray();//...

weixin_34126215的博客 205

InputStream & OutputStream V.S. Reader & Writer

常用的读入操作方法:1)BufferedReader in = new BufferedReader(new FileReader(filename));2)DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));3)BufferedReader stdin =

Sysu_liny的专栏 851

java中的scanner是什么_JAVA中的Scanner类与IO流那些有什么区别

JAVA中的Scanner类与IO流那些有什么区别Scanner类主要是用来直接读取字符及字符串的比如in.readChar()、in,readChars()等方法,我们一般应用都是通过一个默认的System.in对象来得到Scanner对象的,如Scannerinput=newScanner(System.in),System.in本身是一个InputStream类型对象,代表了控制台的输入,其...

weixin_30301989的博客 882

第15章 IO(输入/输出)

由于Java中的字符是Unicode编码,是双字节的,writeBytes()方法只是将字符串中的每一个字符的低字节内容写入目标设备中:而writeChars)方法将字符串中的每一个字符的两个字节的内容都写到目标设备中: writeUTFO方法将字符串按照UTF编码后的字节长度写入目标设备,然后才是每一个字节的 UTF 编码。Java为字符文本的输入专门提供了一套单独的类,即 Reader 类,但Reader类并不是InputStream类的替换者,只是在处理字符串时简化了编程。

2302_76545553的博客 897

java byte连接,使用TCP连接获取字节数组

I was using UDP to send/receive data but I now want to switch to TCP to avoid packet loss.I've read several tutorials on TCP and noticed that instead of using DatagramPacket like UDP, TCP uses InputSt...

weixin_36307344的博客 310

java的流与文件知识点整理

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候就可以想象数据好像在这其中“流动”一样。...

qq_63540874的博客 487

java 输入long_Java输入输出流(一)#

Android 是基于 Java 语言编写的,在安卓程序的很多时候会用到有关 I/O 操作,要在 Adroid 中使用 I/O 操作就必须学会 Java 的 I/O 操作。首先要知道的是,Java 中输入和输出的概念都是对于程序来说的。就是 外部往程序输入,程序向外部输出。外部往程序输入,则程序必须去 读 取外部,程序向外部输出,则程序必须去 写 给外部。在外部和程序之间,Java 分别通过 输入...

weixin_30647423的博客 933

二进制 IO (Java)

二进制 I/O Java 提供了许多类用于实现文本 I/O 和二进制 I/O 。 文件可以分类为文本文件和二进制文件。能够使用文本编辑器,比如 Windows 下的记事本或者 UNIX 下的 vi 编辑器,进行处理(读取、创建或者修改)的文件称为文本文件。其他所有的文件称为二进制文件。它们是为特定程序读取而设计的,不能使用文本编辑器来读取二进制文件。例如,Java 源程序存储在文本文件中,可以使用...

peabits' Web Log 1061
上一篇: Tomcat启动错误PermGen space
下一篇: “System.__ComObject”的 COM 对象强制转换为接口类型“System.Speech.Internal.SapiInterop.ISpDataKey”
sclibingqing
博客等级 码龄18年 28粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值