`
chaoyi
  • 浏览: 311139 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数据操作流

 
阅读更多

本章目标
掌握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
 * */
};

 

 

 

  • 大小: 28.3 KB
  • 大小: 43.1 KB
  • 大小: 8.4 KB
  • 大小: 40.7 KB
分享到:
评论

相关推荐

    delphi 数据流操作

    数据流提供了一种统一的方式来处理各种不同来源和目标的数据,简化了数据操作的复杂性。 1. **QQ数据传输**:在进行QQ数据传输时,数据流可以被用来编码和解码信息,确保数据在网络中安全无误地传输。例如,可以...

    数据流读与写操作手册

    本文将详细介绍数据流的读写操作,以及如何利用缓冲区提高性能。 1. **字节流和字符流的区别** - 字节流:Java的`InputStream`和`OutputStream`类族构成了字节流,它们处理单个字节的数据。字节流适用于处理二进制...

    NTFS数据流隐写工具

    NTFS数据流隐写工具,如"ntfsstreamseditor.exe",就是专门用来操作和提取这种隐藏数据的工具。 NTFS数据流是NTFS文件系统的一个独特特性,允许一个文件名对应多个数据流。默认的数据流被称为主数据流,而额外的...

    数据流图试题及答案

    - **处理过程**:表示系统内部的操作或转换,接收输入数据,经过处理后产生输出数据。 - **数据存储**:指存储数据的物理或逻辑地点,可以是数据库、文件等。 - **数据流**:连接各元素的箭头,表示数据在系统中流动...

    论文论坛系统数据流图

    2. 加工:加工代表对数据进行操作的过程。在论文论坛系统中,加工可能包括用户登录验证、内容审核、搜索算法、推荐系统等。比如,当用户发表帖子时,系统需要进行文本过滤和格式化处理,确保内容符合社区规则。 3. ...

    delphi针对数据流的操作内含数据库

    在这个特定的上下文中,"Delphi针对数据流的操作内含数据库" 提示我们讨论的重点是Delphi如何处理数据流以及与数据库的交互。 数据流通常指的是数据在系统中的传输过程,这可能涉及到读取、处理和存储。在Delphi中...

    数据流图与数据字典的一个例子

    数据流图与数据字典的一个例子 数据流图是软件开发中的一种重要工具,用于描述系统的逻辑结构和数据处理过程。数据字典是数据流图的补充,用于详细说明数据流图中的各种成分。 在本例子中,我们考虑了一个计算机化...

    Delphi中数据流的操作及实例

    在Delphi编程环境中,数据流的操作是至关重要的,特别是在处理文件、网络传输或者数据库交互时。数据流可以被理解为一种抽象概念,它允许程序员以流的形式读写数据,而无需关心底层的数据存储细节。本篇文章将深入...

    网上书店系统数据流图

    而在最底层,即底层数据流图(Level 2 DFD),我们能看到每个中层数据流图中的加工过程被进一步细化,直至落实到具体的数据库操作和业务逻辑。例如,在“订购图书”的功能模块中,底层数据流图会详细描述用户如何...

    网上书城数据流图

    底层数据流图是最详细的层次,它揭示了每个处理过程的具体操作和数据转换。在网上书城的场景下,底层数据流图可能会展示库存管理如何处理书籍的增减、支付系统如何处理用户的支付信息、订单处理系统如何生成和跟踪...

    数据流操作

    数据流操作是计算机科学中一个基础且重要的概念,特别是在数据处理和分析领域。它涉及到如何在系统中有效地管理和处理连续流动的数据。对于初学者来说,理解数据流的概念和操作是迈入IT行业的关键一步。 首先,我们...

    房产管理系统的数据流图

    - **用户界面设计**:基于数据流图设计用户友好的操作界面。 - **数据库设计**:根据数据流图确定所需的数据表结构及关系。 - **功能模块划分**:将复杂的功能按照数据流进行模块化设计,便于后期维护和扩展。 - **...

    数据流分析实验报告

    在这个“数据流分析实验报告”中,我们将深入探讨这一主题,结合使用Ubuntu操作系统、LLVM框架以及Pass技术进行实践操作。 首先,数据流分析是一种分析程序的方法,它研究数据在程序执行过程中如何流动。这种分析不...

    软件工程(数据流图)+实例

    数据流表示信息的传递,处理是对数据进行的操作,数据存储是系统中保存信息的地方,而外部实体则是系统之外与系统交互的对象。 PPT部分可能详细讲解了以下内容: 1. **数据流图的基本符号**:如何识别和理解各种...

    教你怎么画数据流图,包括数据流图实例

    这涉及到对系统内部功能的分析,找出需要通过数据流图反映的关键操作。 4. 分解系统,将复杂的数据加工分解为更简单的子加工,以使数据流图更具体、更易于理解。 5. 检验图形,确保数据流图的每一部分都清晰、准确...

    学生成绩管理系统数据流图

    学生成绩管理系统数据流图 以下是从给定的文件中生成的相关知识点: 1. 数据流图的概念和作用:数据流图是一种用于描述系统数据流动和处理的图形化表示方法。它可以帮助分析和设计系统的数据处理流程,清晰地展示...

    教务管理系统数据流图

    1层数据流图进一步细化了0层图中的各个处理过程,展示了更具体的内部操作。 ##### 1. 处理过程 在1层数据流图中,我们可能会看到以下几个主要的处理过程: - **学生信息验证**:对输入的学生信息进行校验,确保...

Global site tag (gtag.js) - Google Analytics