本章目标
掌握DataOutputStream和DataInputStream的作用
可以使用DataOutputStream和DataInputStream写入和读取数据
数据操作流
在io包中,提供了两个与平台无关的数据操作流:
——数据输出流(DataOutputStream)
——数据输入流(DataInputStream)
通常数据输出流会按照一定的格式将数据输出,再通过数据输入流按照一定的格式将数据读入
例如:有以下的定单数据
DataOutputStream
DataOutputStream是OutputStream的子类,此类的定义如下:
——public class DataOutputStream extends FilterOutputStream implements DataOutput
此类继承自FilterOutputStream类(FilterOutputStream是OutputStream的子类)同时实现了DataOutput接口,在DataOutput接口定义了一系列的写入各种数据的方法。
DataOutputStream类的常用方法
将定单数据写入到文件order.txt之中
import java.io.DataOutputStream ; import java.io.File ; import java.io.FileOutputStream ; public class DataOutputStreamDemo{ public static void main(String args[]) throws Exception{// 所有异常抛出 DataOutputStream dos = null ; // 声明数据输出流对象 File f = new File("d:" + File.separator + "order.txt") ; // 文件的保存路径 dos = new DataOutputStream(new FileOutputStream(f)) ;// 实例化数据输出流对象 String names[] = {"衬衣","手套","围巾"} ; // 商品名称 float prices[] = {98.3f,30.3f,50.5f} ; // 商品价格 int nums[] = {3,2,1} ; // 商品数量 for(int i=0;i<names.length;i++){// 循环输出 dos.writeChars(names[i]) ; // 写入字符串 dos.writeChar('\t') ; // 写入分隔符 dos.writeFloat(prices[i]) ; // 写入价格 dos.writeChar('\t') ; // 写入分隔符 dos.writeInt(nums[i]) ; // 写入数量 dos.writeChar('\n') ; // 换行 } dos.close() ; // 关闭输出流 } };
数据的写入格式
以上每条数据数据之间使用“\n”分隔,每条数据中的每个内容之间使用“\t”分隔。
DataInputStream
DataInputStream是InputStream的子类,专门负责读取使用DataOutputStream输出的数据,此类的定义如下:
——public class DataInputStream extends FilterInputStream implements DataInput
此类继承自FilterInputStream(FilterInputStream是InputStream的子类),同时实现DataInput接口,在DataInput接口中定义了一系列的读入各种数据的方法。
DataInputStream类的常用方法
从order.txt中读取数据
import java.io.DataInputStream ; import java.io.File ; import java.io.FileInputStream ; public class DataInputStreamDemo{ public static void main(String args[]) throws Exception{// 所有异常抛出 DataInputStream dis = null ; // 声明数据输入流对象 File f = new File("d:" + File.separator + "order.txt") ; // 文件的保存路径 dis = new DataInputStream(new FileInputStream(f)) ;// 实例化数据输入流对象 String name = null ; // 接收名称 float price = 0.0f ; // 接收价格 int num = 0 ; // 接收数量 char temp[] = null ; // 接收商品名称 int len = 0 ; // 保存读取数据的个数 char c = 0 ; // '\u0000' try{ while(true){ temp = new char[200] ;// 开辟空间 len = 0 ; while((c=dis.readChar())!='\t'){ // 接收内容 temp[len] = c ; len ++ ; // 读取长度加1 } name = new String(temp,0,len) ; // 将字符数组变为String price = dis.readFloat() ; // 读取价格 dis.readChar() ; // 读取\t num = dis.readInt() ; // 读取int dis.readChar() ; // 读取\n System.out.printf("名称:%s;价格:%5.2f;数量:%d\n",name,price,num) ; } }catch(Exception e){} dis.close() ; } /* 结果: * 名称:衬衣;价格:98.30;数量:3 * 名称:手套;价格:30.30;数量:2 * 名称:围巾;价格:50.50;数量:1 * */ };
相关推荐
数据流提供了一种统一的方式来处理各种不同来源和目标的数据,简化了数据操作的复杂性。 1. **QQ数据传输**:在进行QQ数据传输时,数据流可以被用来编码和解码信息,确保数据在网络中安全无误地传输。例如,可以...
本文将详细介绍数据流的读写操作,以及如何利用缓冲区提高性能。 1. **字节流和字符流的区别** - 字节流:Java的`InputStream`和`OutputStream`类族构成了字节流,它们处理单个字节的数据。字节流适用于处理二进制...
NTFS数据流隐写工具,如"ntfsstreamseditor.exe",就是专门用来操作和提取这种隐藏数据的工具。 NTFS数据流是NTFS文件系统的一个独特特性,允许一个文件名对应多个数据流。默认的数据流被称为主数据流,而额外的...
- **处理过程**:表示系统内部的操作或转换,接收输入数据,经过处理后产生输出数据。 - **数据存储**:指存储数据的物理或逻辑地点,可以是数据库、文件等。 - **数据流**:连接各元素的箭头,表示数据在系统中流动...
2. 加工:加工代表对数据进行操作的过程。在论文论坛系统中,加工可能包括用户登录验证、内容审核、搜索算法、推荐系统等。比如,当用户发表帖子时,系统需要进行文本过滤和格式化处理,确保内容符合社区规则。 3. ...
在这个特定的上下文中,"Delphi针对数据流的操作内含数据库" 提示我们讨论的重点是Delphi如何处理数据流以及与数据库的交互。 数据流通常指的是数据在系统中的传输过程,这可能涉及到读取、处理和存储。在Delphi中...
数据流图与数据字典的一个例子 数据流图是软件开发中的一种重要工具,用于描述系统的逻辑结构和数据处理过程。数据字典是数据流图的补充,用于详细说明数据流图中的各种成分。 在本例子中,我们考虑了一个计算机化...
在Delphi编程环境中,数据流的操作是至关重要的,特别是在处理文件、网络传输或者数据库交互时。数据流可以被理解为一种抽象概念,它允许程序员以流的形式读写数据,而无需关心底层的数据存储细节。本篇文章将深入...
而在最底层,即底层数据流图(Level 2 DFD),我们能看到每个中层数据流图中的加工过程被进一步细化,直至落实到具体的数据库操作和业务逻辑。例如,在“订购图书”的功能模块中,底层数据流图会详细描述用户如何...
底层数据流图是最详细的层次,它揭示了每个处理过程的具体操作和数据转换。在网上书城的场景下,底层数据流图可能会展示库存管理如何处理书籍的增减、支付系统如何处理用户的支付信息、订单处理系统如何生成和跟踪...
数据流操作是计算机科学中一个基础且重要的概念,特别是在数据处理和分析领域。它涉及到如何在系统中有效地管理和处理连续流动的数据。对于初学者来说,理解数据流的概念和操作是迈入IT行业的关键一步。 首先,我们...
- **用户界面设计**:基于数据流图设计用户友好的操作界面。 - **数据库设计**:根据数据流图确定所需的数据表结构及关系。 - **功能模块划分**:将复杂的功能按照数据流进行模块化设计,便于后期维护和扩展。 - **...
在这个“数据流分析实验报告”中,我们将深入探讨这一主题,结合使用Ubuntu操作系统、LLVM框架以及Pass技术进行实践操作。 首先,数据流分析是一种分析程序的方法,它研究数据在程序执行过程中如何流动。这种分析不...
数据流表示信息的传递,处理是对数据进行的操作,数据存储是系统中保存信息的地方,而外部实体则是系统之外与系统交互的对象。 PPT部分可能详细讲解了以下内容: 1. **数据流图的基本符号**:如何识别和理解各种...
这涉及到对系统内部功能的分析,找出需要通过数据流图反映的关键操作。 4. 分解系统,将复杂的数据加工分解为更简单的子加工,以使数据流图更具体、更易于理解。 5. 检验图形,确保数据流图的每一部分都清晰、准确...
学生成绩管理系统数据流图 以下是从给定的文件中生成的相关知识点: 1. 数据流图的概念和作用:数据流图是一种用于描述系统数据流动和处理的图形化表示方法。它可以帮助分析和设计系统的数据处理流程,清晰地展示...
1层数据流图进一步细化了0层图中的各个处理过程,展示了更具体的内部操作。 ##### 1. 处理过程 在1层数据流图中,我们可能会看到以下几个主要的处理过程: - **学生信息验证**:对输入的学生信息进行校验,确保...