博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 数据流
阅读量:4602 次
发布时间:2019-06-09

本文共 1722 字,大约阅读时间需要 5 分钟。

DataInputStream 类和DataOutputStream 类

在前面的学习中,我们知道数据流处理的数据都是指字节或字节数组,但实际上很多时候不是这样的,它需要数据流能直接读、写各种各样的java语言的基本数据类型。例如在一个文件中存放300个整数值,从中读取时,希望按int为基本单位进行读取,这样可以大大节省时间。这时就需要使用DataInputStream和DataOutputStream,DataInputStream和DataOutputStream不但支持父类InputStream和OutputStream中的方法,以原有方式读写数据,同时还允许通过数据流来读写java语言的基本数据类型,包括int、float、double和double等。其构造函数形式如下:

    DataInputStream(Obj)
    DataOutputStream(Obj)   Obj为已经建立好的输入输出数据流对象
     DatainputStream 和 DataOutputStream之所以能够对这些原始类型进行操作,是因为他们有一组特定的方法。DataInputStream 的常用方法如下:
     -> byte readByte()
     -> long readLong()
     -> double readDouble()
     -> boolean readBoolean()
     -> String readUTF()
     -> int readInt()
     -> float readFloat()
     -> short readShort()
     -> char readChar()
     以上这些方法分别对int、byte、float、char等类型进行读取。
     -> void writeByte(int a)
     -> void writeLong(long a)
     -> void wirteDouble(double a)
     -> void writeBoolean(boolean a)
     -> void writeUTF(String a)
     -> void writeInt(int a)
     -> void writeChar(char a)
     -> void writeFloat(float a)
     -> void writeShort(short a)
     以上这些方法分别对int、byte、float、char等类型进行写入。

 

 以下是关于DataInputStream 和 DataOutputStream 实例:

 

package com.feicuiedu.test;

import java.io.*;

public class Liu_Test{
public static void main(String args[ ] ) throws Exception{
FileOutputStream fos = new FileOutputStream("text.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(12);
dos.writeDouble(2.23d);
dos.writeBoolean(true);
dos.writeUTF("java 数据流测试#");
fos.close( );

FileInputStream fis = new FileInputStream("text.txt");

DataInputStream dis = new DataInputStream(fis);

System.out.println(dis.readInt( ) );

System.out.println(dis.readDouble( ) );
System.out.println(dis.readBoolean( ) );
System.out.println(dis.readUTF( ) );

fis.close( );

}
}

 

输出结果:

 

转载于:https://www.cnblogs.com/dhm520/p/8522158.html

你可能感兴趣的文章
个人介绍
查看>>
使用python动态特性时,让pycharm自动补全
查看>>
MySQL数据库免安装版配置
查看>>
你必知必会的SQL面试题
查看>>
html5 Canvas绘制时钟以及绘制运动的圆
查看>>
Unity3D热更新之LuaFramework篇[05]--Lua脚本调用c#以及如何在Lua中使用Dotween
查看>>
JavaScript空判断
查看>>
洛谷 P1439 【模板】最长公共子序列(DP,LIS?)
查看>>
python timeit
查看>>
Wireless Network 并查集
查看>>
51nod 1019 逆序数
查看>>
20145202马超《JAVA》预备作业1
查看>>
云推送注意(MSDN链接)
查看>>
IDEA 生成 jar 包
查看>>
加减乘除混合版
查看>>
linux基础6-bash shell编程
查看>>
掌握这几种微服务模式助你成为更出色的工程师
查看>>
为什么很多语言选择在JVM上实现
查看>>
CSS Reset CSS Framework
查看>>
LeetCode算法扫题系列19
查看>>