数据流

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. ThinkPHP的create方法的一系列操作

    1.数据操作状态 create方法的第二个参数可以指定数据的操作状态,默认是自动判断的(写入[Model:MODEL_INSERT或者1].更新[Model:MODEL_UPDATE或者2].也可以自 ...

  2. Linux服务管理(开启关闭防火墙)

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  3. opencv3计算机视觉+Python(四)

    使用分水岭和GrabCut算法进行物体分割 用GrabCut算法进行图像分割 在OpenCV中,实现了grabcut分割算法,该算法可以方便的分割出前景图像,操作简单,而且分割的效果很好.算法的原理参 ...

  4. Python编码规范 -- Python Style Guide

    Python代码风格规范. @1:参数缩进:(2种形式) <1> foo = long_function_name(var1, var2, var3, var4) #第1行有参数, 第2行 ...

  5. input date 对 placeholder 的支持问题

    正常情况下,text 的 input 会显示 placeholder 中的值,date 类型的 input 对其支持不好.实例代码如下: <input type="text" ...

  6. Tensorflow学习笔记(1)--安装

    安装 1.ubuntu 14.04 2. 清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/ (要求sudo权限,如果报 ...

  7. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  8. Yii2 自定义独立验证器

    新建一个文件: ?php /** * author : forecho <caizhenghai@gmail.com> * createTime : 2015/7/1 14:54 * de ...

  9. TOGAF和BABOK

  10. css小技巧1

    资料 1. 文本省略 单行省略: white-space:nowrap; overflow:hidden; text-overflow:ellipsis; 多行文本省略: 只兼容webkit内核,不属 ...