数据流

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. Velocity模版引擎使用总结

    Velocity是一个基于java的模板引擎.它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一 ...

  2. 巨蟒django之权限9:前端展示修改删除合并&&权限展示

    1.权限组件控制流程(硬核重点) 2.权限组件控制流程 3.角色管理 4.删除合并 5.权限展示

  3. General Decimal Arithmetic 浮点算法

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

  4. Encrypt your home directory

    w

  5. C#通过反射打开相应窗体方法

    C#单击菜单栏或工具栏时通过反射打开窗体的方法,可以以取代长长的if-else或switch-case语句.要点:将菜单或工具栏项的名称设置为与相应窗体名称相同(关键). private void M ...

  6. matlab学习笔记之五种常见的图形绘制功能

    分类: 离散数据图形绘制 函数图形绘制 网格图形绘制 曲面图形绘制 特殊图形绘制 本文重点介绍matlab五种图形绘制方法的后三种. 一.网格图形绘制 以绘制函数z=f(x,y)三维网格图为例,下面为 ...

  7. Longest Common Prefix -最长公共前缀

    问题:链接 Write a function to find the longest common prefix string amongst an array of strings. 解答: 注意 ...

  8. Oracle 11g Enhancements in AWR Baselines

    Enhancements in AWR Baselines A baseline is any set of snapshots taken over a period of time. The sn ...

  9. url的配置

    from django.conf.urls import patterns, url urlpatterns = patterns('common.views', url(r'^$', 'index' ...

  10. commonAncestor

    commonAncestor 光标或选区所在区域最外层的祖先节点