数据流

DateInputStream和DataOutputStream类创建的对象称为数据输入流和数据输出流。这两个流是很有用的流,它们允许程序按着机器无关的风格读取Java原始数据。也就是说,当读取一个数值时,不必关心这个数值应当是多少个字节。

以下是DataInputStream和DataOutputStream的构造方法。

  • DataInputStream(InputStream in)创建的数据输入流指向一个由参数in指定底层输入流。
  • DataOutputStream(OutputStream out)创建的数据输出流指向一个由参数out指定的底层输出流。

数据流需要使用到底层流。

代码展示如下所示:

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; public class Test02 { public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("E:/test/write01.txt"); try {
FileOutputStream out = new FileOutputStream(file);
DataOutputStream outData = new DataOutputStream(out);
outData.writeInt(100);
outData.writeLong(123456789);
outData.writeFloat(3.1415926f);
outData.writeDouble(987654321.1234563);
outData.writeBoolean(false);
outData.writeChars("Hello! 大家好"); }
catch (IOException e) {} try {
FileInputStream in = new FileInputStream(file);
DataInputStream inData = new DataInputStream(in);
System.out.println(inData.readInt());
System.out.println(inData.readLong());
System.out.println(inData.readFloat());
System.out.println(inData.readDouble());
System.out.println(inData.readBoolean()); char c = '\0';
while((c = inData.readChar()) != '\0')
System.out.print(c); }
catch (IOException e) {} } }

运行结果如下所示:

字符串的读取是读一个一个字符。

该代码的数据流没有关闭,这样是不正确的。

只有字符数组里是可以不用关闭的。

review30的更多相关文章

随机推荐

  1. General Decimal Arithmetic 浮点算法

    General Decimal Arithmetic http://speleotrove.com/decimal/ General Decimal Arithmetic [ FAQ | Decima ...

  2. nosql_action

    ps -aux  查当前端口占用 connecting to: test > show dbs local .078125GB testphp .203125GB > use testph ...

  3. <2013 12 01> 一篇很好的关于windows编程的入门指导(2013年末写的,比较前沿)

    我之前做了不少嵌入式开发,从单片机到ARM到RTOS到Linux等等,可以说走的是电气工程师的路线,对编程也是实用性的,跟计算机学院的科班套路不同.最近同学做一个windowsCE的项目请我帮忙,之前 ...

  4. 【转】Power System 中基于 VIOS 的虚拟以太网实现

    基于 VIOS 的虚拟以太网适配器的工作原理和配置实现 本文对 Power 系统中基于 VIOS 的虚拟以太网适配器(Virtual Ethernet Adapter)的工作原理.基本配置选项和配置步 ...

  5. MySQL事件的先后

    今天闲聊之时 提及MySQL事件的执行,发现一些自己之前没有注意的细节 如果在执行事件过程中,如果insert的存储过程发生意外 会如何 USE iot2; CREATE TABLE aaaa (ti ...

  6. Python3.6全栈开发实例[018]

    18.车牌区域划分, 现给出以下车牌.根据车牌的信息, 分析出各省的车牌持有量.(升级题) result = {} for car in cars: location = locals[car[0]] ...

  7. 请听一个故事------>你真的认为iPhone只是一部手机?苹果惊天秘密!!

    在网上看到的一篇小说,感觉有点意思,转载过来大家一起围观下,作者很幽默很风趣. 导读:iPhone的隐藏功能!Jobs的军方身份!图灵服毒自杀的传奇故事!中兴华为的神秘背景! 你真的认为iPhone只 ...

  8. CSS让一个元素一闪一闪的

    .heart{ animation:heart 1s ease infinite; } @keyframes heart { 0% {opacity:0.1;} 100%{;} }

  9. Geforce experience报错:something went wrong try restarting geforce

    右键计算机 ——>管理——> 服务和应用程序 ——>服务中

  10. 3.6.使用STC89C52控制MC20解析GPS的经纬度数据上传到指定服务器

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...