文档章节

JavaSE DataInputStream和DataOutputStream流

博为峰教研组
 博为峰教研组
发布于 2017/04/09 17:53
字数 325
阅读 5
收藏 0

 

DataInputStream和DataOutputStream是对InputStream和OutputStream字节流的格式化包装流,字节流读写是以字节为单位,对于象Java的数据类型比如int型就需要读写4次,double类型需要读写8个次,这样使用起就来非常不方便,同时也会影响性能。格式化包装流主要对Java的格式化类型进行读写操作,提供各种方便读写数据类型的方法。

DataInputStream:

 String readUTF()读取字符串

 int readInt()读取int型

 double readDouble()读取double型

 boolean readBoolean()读取boolean型

 等等。

DataOutputStream

 writeUTF(String)写字符串

 writeInt(int)写int型

 writeDouble(double)写double型

 writeBoolean(boolean)写boolean型

 等等。

 

示例1代码:

  public class TestDataOutputStream {

public static void main(String[] args) {

DataOutputStream dos=null;

FileOutputStream fos=null;

DataInputStream dis=null;

FileInputStream fis=null;

 

 

String str="Hello";

int a=123;

double d=12.3;

boolean bl=true;

try {

fos=new FileOutputStream("stream.dat");

dos=new DataOutputStream(fos);

dos.writeUTF(str);

dos.writeInt(a);

dos.writeDouble(d);

dos.writeBoolean(bl);

 

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(dos!=null){

try {

dos.flush();

dos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fos!=null)

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

 

 

 

示例2代码:

 

public class TestDataInputStream{

public static void main(String[] args) {

DataInputStream dis=null;

FileInputStream fis=null;

try {

   fis=new FileInputStream("stream.dat");

   dis=new DataInputStream(fis);

   String str=dis.readUTF();

   int a=dis.readInt();

   double d=dis.readDouble();

   boolean bl=dis.readBoolean();

  

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(dis!=null){

try {

dis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fis!=null)

try {

fis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
Java IO类库之DataInputStream和DataOutputStream

一、DataInputStream 1 - DataInputStream介绍 DataInputStream属于数据输入流,继承自FilterInputStream,使用了装饰器模式通过实现DataInput接口允许程序以机器无关的方式从绑定的底层输入...

老韭菜
07/21
0
0
java Socket实现简单在线聊天(三)

在上一篇,利用线程使服务端实现了能够接收多客户端请求的功能,这里便需要客户端接收多客户端消息的同时还能把消息转发到每个连接的客户端,并且客户端要能在内容显示区域显示出来,从而实现...

涂宗勋
2016/06/03
41
0
java Socket实现简单在线聊天(一)

最近的项目有一个在线网页交流的需求,由于很久以前做过的demo已经忘记的差不多了,因此便重新学习一下。 我计划的大致实现步骤分这样几大步: 1、使用awt组件和socket实现简单的单客户端向服...

涂宗勋
2016/06/03
31
0
JavaSE的输入流、输出流

首先是四大基本抽象流,具体如下: 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 以上四个流都是抽象流)(但不是抽象类),通常我们使用的都是它们的子类(注意是通...

天蚕宝衣
2016/06/07
43
0
Java I/O源码分析 - InputStream,OutputStream系列

说明 IntputStream,OutputStream 简介 助于理解 ByteArrayInputStream ByteArrayOutputStream PipedInputStream,PipedOutputStream PipedOutputStream FilterInputStream,FilterOutputStr......

HikariCP
09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python监控服务器实现邮件微信报警[未测试]

本文中笔者暂时实现的只有cpu和内存的监控,python可以监控许多的主机信息,网络,硬盘,机器状态等,以下是代码的实现,代码可以实现windows和linux的监控。 实验环境:Ubuntu16.04和windo...

dragon_tech
14分钟前
1
0
Spring Boot 返回 JSON 数据,一分钟搞定!

在 WEB 项目中返回 JSON 数据是常见的交互形式,在 Spring Boot 中这一切都变得十分简单。So easy!!! 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启...

Java技术栈
19分钟前
2
0
保护Hadoop集群三大方法

大约在两年前,开源数据库解决方案MongoDB以及Hadoop曾遭受过大量恶意攻击,这些攻击后被统称为“勒索软件”,因为其攻击者会擦除或加密数据,然后向被攻击者索要资金以恢复数据。自今年以来...

linuxCool
26分钟前
1
0
开源 java CMS - FreeCMS2.8会员我的留言

项目地址:http://www.freeteam.cn/ 我的留言 从左侧管理菜单点击我的留言进入。在这里可以查看当前登录会员的所有留言记录。 查看留言 点击留言标题可以查看留言详细内容。 删除留言 选择留...

freeteam
45分钟前
2
0
OSChina 周五乱弹 —— 这就是不要女朋友的理由

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @狄安娜的猫 :分享丁家鑫的单曲《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 手机党少年们想听歌,请...

小小编辑
今天
990
22

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部