JAVA基础——数据流
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( );
} }
输出结果:

JAVA基础——数据流的更多相关文章
- Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
Java基础-IO流对象之数据流(DataOutputStream与DataInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据流特点 操作基本数据类型 ...
- Java基础IO类之数据流
DataInputStream: 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本java数据类型.应用程序可以使用数据输出流 写入稍后由数据输入流读取的数据.DataInputStrea ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识学习(一)
部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...
- 【概念笔记】JAVA基础 - part2
IT`huhiu前言录 这是续JAVA基础 - part1 链接http://www.cnblogs.com/ithuhui/p/5922067.html的. 笔记慢慢在修改和补充 JAVA里面重要的 ...
- Java基础(十一) Stream I/O and Files
Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程 ...
- Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- 毕向东—Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- java基础篇---I/O技术(三)
接上一篇java基础篇---I/O技术(二) Java对象的序列化和反序列化 什么叫对象的序列化和反序列化 要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象 ...
随机推荐
- lua 与 c 的相互调用
Lua是一个嵌入式的语言,意味着Lua不仅可以是一个独立运行的程序包也可以是一个用来嵌入其他应用的程序库. Lua可以作为程序库用来扩展应用的功能,也就是Lua可以作为扩展性语言的原因所在.同时,Lu ...
- AutoMapper封装类
/// <summary> /// AutoMapper扩展帮助类 /// </summary> public static class AutoMapperHelper { ...
- 字符串常量是String类的匿名对象
String str = "Hello"; System.out.println(str.equals("Hello"));//true,字符串对象调用equa ...
- bzoj 1061: [Noi2008]志愿者招募【最小费用最大流】
神奇的建图:连接(s,1,inf,0)(n+1,t,inf,0),对于1~n连接(i,i+1,inf-a[i],0),对于每个志愿者(s,t,c),连接(s,t+1,inf,c). 因为从s开始的流是 ...
- Quartz.NET一个开源的作业调度框架
Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...
- iOS 上传APP到AppStore 卡在 Authenticating with the iTunes store 提示
上传APP的时候,遇到了问题,一直卡在Authenticating with the iTunes store提示这里, 解决办法:在Application Loader里面登录需要上传APP的开发者 ...
- 目标Python2+3
很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+. 试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3.这时候 ...
- poj3368 Frequent values
思路: 转化为RMQ. 实现: #include <cstdio> #include <cstring> #include <algorithm> using na ...
- [SPOJ1811]Longest Common Substring 后缀自动机 最长公共子串
题目链接:http://www.spoj.com/problems/LCS/ 题意如题目,求两个串的最大公共子串LCS. 首先对其中一个字符串A建立SAM,然后用另一个字符串B在上面跑. 用一个变量L ...
- axis2客户端的几种调用方式
(1)使用RPC方式调用WebService // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient( ...