简单说一下DataInputStream和DataOutputStream这两个流

IO流之使用DataInputStream和DataOutputStream复制二进制文件 文章目录前言一、DataInputStream和DataOutputStream二、实现步骤1.例题内容总结 前言 在IO流学习中,我们通常会碰到一些二进制文件的复制问题,例如一张图片,一段视频,也可能是我们的一个class字节码文件,他们都是典型的使用二进制编码实现的文件. 那么我们应该如何使用IO流知识解决二进制文件的复制问题呢? 答案是需要使用DataOutputStream和DataInputStream实现类,下面介绍如何使用这两个类. 提示:以下是本篇文章正文内容,下面案例可供参考... 阅读详情

先看下继承的关系:

在这里插入图片描述
这两个流,也是装饰流!它们可以直接写入Java的基础数据类型。比如,我们要写入一个long类型的数据,怎么写?long类型是8个字节哦!

在这里插入图片描述
你看:根据这两个流的API,可以直接写入一个基础的数据类型。

这样,这两个流结合起来,就可以完成一系列的数据存取操作。

public class BufferedReaderTestClient {
    public static void main(String[] args) {
        try (DataOutputStream outputStream = new DataOutputStream(new FileOutputStream("Test"));
             DataInputStream inputStream = new DataInputStream(new FileInputStream("Test"))) {
            char data;
            for (int i = 0; i < 26; i++) {
                outputStream.writeChar(65 + i);//i=0时,此时A会立刻被写入"Test"文件中
                data = inputStream.readChar();
                System.out.println("data = " + data);
            }
        } catch (Exception exception) {
        }
    }
}

记住:当 outputStream.writeChar(65 + i) 被调用时,数据直接被写入到文件(磁盘等介质)中了。

data = A
data = B
data = C
... ...
data = X
data = Y
data = Z

这样,一边写数据,一边读数据,就把A-Z所有的大写字母都打印出来了。

DataOutputStream outputStream = new DataOutputStream(new FileOutputStream("Test"))
DataInputStream inputStream = new DataInputStream(new FileInputStream("Test"))

因为,和BufferedOutputStream流相似都是一种FilterOutputStream,所以,需要传入需要包装的InputStream或者OutputStream流对象。

好了,亲手试试吧,评论区交流!

IO流---DataOutputStream数据字节输出流和DataInputStream数据字节输入流 文章目录前言一、DataOutputStream数据字节输出流1.DataOutputStream类中方法:2.DataOutputStream实例:二、DataInputStream数据字节输入流1.DataInputStream类中方法:2.DataInputStream实例 前言 IO流—DataOutputStream数据字节输出流和DataInputStream数据字节输入流 一、DataOutputStream数据字节输出流 1.DataOutputStream类中方法: 注意:DataO 阅读详情

相关推荐

050-Java中DataInputStream和DataOutputStream使用详解

本文主要介绍Java中DataInputStream和DataOutputStream的使用方法,数据输出流(DataOutputStream)、数据输入流 (DataInputStream)是与平台无关的数据操作流。通常数据输出流会按照一定的格式将数据输出,再通过数据输入流按照一定的格式将数据读入。DataOutputStream 和 DataOutputStream 用来读写固定字节格式数据。

软件之家的博客 9043

DataInputStream与InputStream区别

1、DataInputStream类继承了InputStream。也就是说DataInputStream是InputStream的子类。但它们同是实现了DataInput接口。 2、DataInputStream比普通的InputStream多一些方法。 增加方法如下: publicabstractvoidreadFully(byteabyte0[]) throwsI...

sclibingqing的博客 1万+

Ubuntu更新后VirtualBox报错rc=-1908?手把手教你修复Kernel driver not installed

本文详细解析了Ubuntu更新后VirtualBox报错rc=-1908的原因,并提供了完整的修复方案。通过重新安装VirtualBox、处理DKMS内核模块以及解决Secure Boot问题,帮助用户快速恢复虚拟机功能。特别针对Kernel driver not installed错误,给出了从诊断到修复的详细步骤。

weixin_42519781的博客 339

深入剖析Java中的输入输出流:InputStream与OutputStream的精髓解读

在计算机编程领域,文件和数据的输入输出是开发中常见的需求。Java作为一门强大的编程语言,提供了丰富的输入输出流(IO)操作功能,使得开发者可以轻松地处理各种数据源,包括文件、网络连接、内存等。本文将深入探讨Java中的输入输出流,着重介绍InputStream和OutputStream的原理、使用方法以及常见应用场景,帮助读者更好地理解和运用Java中的IO操作。希望通过本文的介绍,读者能够更好地掌握Java中InputStream与OutputStream的使用,为今后的开发工作提供有力支持。

程序猿小样的博客 1989

ArcMap安装与配置全攻略:从下载到实战应用

本文提供了ArcMap 10.4.1从系统准备、详细安装到破解激活的完整指南,并包含首次启动的界面介绍与一个实战GIS分析项目。针对初学者,文章强调了在ArcGIS Pro成为趋势的当下,学习经典ArcMap对于理解核心概念和兼容现有工作流仍有重要价值,帮助用户避开安装常见陷阱,快速上手实战应用。

weixin_29200741的博客 338

运算放大器多谐振荡器设计实战:从施密特触发器到波形生成

本文详细介绍了运算放大器在多谐振荡器设计中的实战应用,涵盖施密特触发器的迟滞比较原理、非稳态振荡器的自激机制以及单稳态和双稳态电路的设计技巧。通过具体案例和参数计算,帮助工程师掌握波形生成与信号处理的核心技术,提升电路设计效率与稳定性。

pz89012345的博客 217

InputStream与DataInputStream区别

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

dzf203的专栏 932

保姆级教程:用海康威视老版存储服务器+IVMS-4200搭建本地监控录像(附软件获取与开机自启)

最近在帮朋友搭建一套小型监控系统时,遇到了一个颇具挑战性的问题:手头有几台海康威视网络摄像头,但官方已经下架了配套的存储服务器软件。经过一周的摸索和测试,终于找到了一套可靠的解决方案。本文将完整分享从软件获取到系统稳定运行的全过程,特别适合那些不想额外购买NVR设备,又需要本地存储监控录像的个人用户或小型企业IT管理员。

weixin_30553777的博客 513

Java IO流之DataInputStream和DataOutputStream分析

简介 DataOutputStream数据输出流允许应用程序将基本Java数据类型写到基础输出流中,而DataInputStream数据输入流允许应用程序以机器无关的方式从底层输入流中读取基本的Java类型. DataInputStream介绍 1.构造方法 public DataInputStream(InputStream in) { super(in);} 有参构造方法传入的基础...

梦悠哉的博客 3万+

锁定放大器

锁定放大器

qq_46757048的博客 4706

使用 Pfam 和 InterProScan 进行蛋白质家族和功能域的分析

本文介绍了使用Pfam和InterProScan进行蛋白质家族与功能域分析的方法。主要内容包括:1) Pfam数据库的本地化使用,通过hmmscan工具比对Pfam-A.hmm数据库,并提供了批量处理Python脚本;2) InterProScan的安装配置与命令行参数详解,支持多数据库整合分析;3) 补充介绍了基于curl的Uniprot在线查询方法。文章提供了从软件安装到实战分析的完整流程,适用于本地化、批量化蛋白质功能注释需求,特别是无网络环境或大规模数据分析场景,适合不同水平的生物信息学用户。

Protein Designer的博客 1918

超详细的逐句介绍Java高级接口之文件输入/输出二进制流函数DataInputStream和DataOutputStream函数源码讲解(全)

一、DataInputStream和DataOutputStream函数 DataInputStream和DataOutputStream函数是文件输入/输出二进制流函数。 DataInputStream函数主要实现数据输入流允许应用程序以独立于机器的方式从底层输入流中读取原始 Java 数据类型。应用程序使用数据输出流写入稍后可由数据输入流读取的数据。 DataOutputStream函数主要实现数据输出流允许应用程序以可移植的方式将原始 Java 数据类型写入输出流。然后,应用程序可以使用数据输入流将数

m0_43405302的博客 2457

2026快手爬虫终极指南:JA4+指纹绕过+sign全逆向+AES响应解密(附可运行代码)

快手2026反爬破解实战指南 本文深入剖析快手2026年最新反爬体系,提供完整的破解方案: 四层防御体系:从传输层(JA4+指纹)、应用层(sign参数)、设备层到行为层,90%的爬虫在前两层即被拦截 JA4+指纹绕过:使用curl_cffi模拟Chrome 124的TLS指纹,完美匹配真实浏览器特征 sign参数逆向:通过动态调试提取加密逻辑,Python实现MD5签名算法,包含参数排序和盐值处理 响应解密:破解AES-GCM加密接口数据,完整还原响应内容 技术亮点: 使用curl-impersonate

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1802

DataInputStream 和 DataOutputStream流

1. 简介 DataInputStream 和 DataOutputStream流是基于 InputStream流 和 OutputStream流衍生出的子类,当然他们还基于父类DataInput 和 DataOutput。它们是针对Java基本数据类型读取/写入操作的。这两个类读写的文件都是针对机器的,DataOutputStream写出去的数据不是给人看的是给机器看的。而DataInputStream只能读取DataOutputStream写出去的文件。 使用DataOutputStream流写入t

weixin_43808717的博客 2686

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 210

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

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

Java IO操作——数据操作流DataOutputStream和DataInputStream的使用

学习目标  掌握DataOutputStream和DataInputStream的作用 可以使用DataOutputStream和DataInputStream写入和读入数据 数据操作流 在io包中,提供了两个与平台无关的数据操作流: 数据输出流(DataOutputStream) 数据输入流 (DataInputStream) 通常数据输出流会按照一定的格式将数据输出,再通过数据输

2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

DataInputStream和DataOutputStream

数据操作流 DataOutputStream 此类继承于FileterOutputStream类(OutputStream类的子类),实现了DataOutputStream接口,在DataOutput接口定义了一系列写入各种数据的方法 常用方法 序号 方法 类型 描述 1 public DataOutputStream(ObjectSteam out) 构造 实例化对象 2 public final void writeInt(int v) throws IOException 普通 将

鄙视土包子的博客 1237

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

DataOutputStream和DataInputStream

是 Java 中的一个类,用于将基本数据类型和字符串数据写入输出流。它是的子类,因此可以用于将数据写入各种输出目标,如文件、网络连接等。是 Java 中的一个类,用于从输入流中读取基本数据类型和字符串数据。它是的子类,因此可以用于从各种输入源(如文件、网络连接等)读取数据。

qq_27210677的专栏 1290

JAVA中常用IO流类: DataInputStream和DataOutputStream

DataInputStream和DataOutputStream二者分别实现了DataInput/DataOutput接口 DataInputStream能以一种与机器无关(当前操作系统等)的方式,直接从地从字节输入流读取JAVA基本类型和String类型的数据,常用于网络传输

caixiexin的专栏 2万+

IO流 | DataInputStream和DataOutputStream

过滤器字节流: FilterInputStream:过滤器字节输入流 FilterOutputStream:过滤器字节输出流 它们的主要用于封装其他的输入输出流,为它们提供一些额外的功能。 具有以下实现类: 以下以FilterInputStream做主要分析: 一、FilterInputStream 1. 源码分析 (1)继承关系 该类继承自InputStream父类(表示该类可实现父类...

BUZZ_Q的博客 1409

深入剖析Java的DataInputStream和DataOutputStream

Java的DataInputStream和DataOutputStream是处理原始数据类型的高效工具,采用装饰者模式在字节流和基本类型间转换,严格遵循大端字节序。写入流程通过位运算拆分数据,读取时需保持相同顺序。实战中配合缓冲流可提升性能,但需注意字节顺序陷阱、EOF异常等问题。相比NIO方案,DataStream更适合流式处理场景,是网络传输和跨平台数据交换的理想选择。使用时应保持读写顺序一致,并妥善处理资源关闭。

weixin_51786043的博客 847

11_Java的IO流(面试)_DataInputStream和DataOutputStream的特点

11 DataInputStream和DataOutputStream的特点 1:二者都是处理流,要以一个节点流为参数; 二者被称为数据流,是用来操作基本数据类型的。 2、用DataInputStream 写入一个类型的数据,用 DataOutputStream读出数据时可以保持类型不变。 数据流特点: 写入是什么类型的数据,读出是相应类型的数据; 要先写后读;用 DataOutputStrea...

毅君帅 3287

(IO流类示例三)BufferedOutputStream、BufferedInputStream、DataOutputStream、DataInputStream

BufferedOutputStream(输入流)、BufferedInputStream(输出流):缓冲字节输入输出流(高级流),高级流都需要低级流的支持,在其内部维护了一个默认大小为8k的缓冲区,当我们在进行文件复制读取内容时,会将读取到的内容先写入缓冲区中,当缓冲区满了,会一次性将数据写到硬盘上,如果我我们设置的字节数组大小大于缓冲区默认大小,则缓冲区失效,直接从硬盘上进行读取,如果我们设置...

z774884795的博客 2253

datainputstream和dataoutputstream

一、datainputstream和dataoutputstream 使用BufferedInputStream/BufferedOutStream读写的并不是纯二进制数据,因此在有些时候,比如网络互传时会有出现文件无法恢复的问题,除非是纯文本文件。要解决文件流的通用性就必须使用纯二进制的方式读写数据,这时我们可以选择使用DataInputStream/DataOutputStream对数据使用二进制的方式进行读写,比如以DataInputStream为例,字节入流的API结构]显示了其继承于java.io

m0_46301469的博客 576

Java语言DataOutputStream和DataInputStream使用方法

Java语言DataOutputStream和DataInputStream使用方法 常用方法 DataOutputStream //创建数据写入流(写入到文件),第二个参数为true意思是追加写入,而不是覆盖写入 DataOutputStream dos = new DataOutputStream(new FileOutputStream("water.txt",true));. //写入数据 dos.writeInt(int类型的数据); //写入int类型 dos.writeDouble(dou

影龙武的博客qq_43594119 3863

JAVA中的DataInputStream和DataOutputStream

JAVA中的DataOutputStream public class DataOutputStreamTest01 { public static void main(String[] args) throws Exception{ DataOutputStream dos = new DataOutputStream(new FileOutputStream("src/io/DataStreamFile")); //声明相关数据类型 byte b

qq_42843172的博客 643
上一篇: LineNumberReader的简单介绍与使用
下一篇: 简谈PushbackInputStream流
盖了帽
博客等级 码龄8年 17粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值