DataOutputStream&DataInputStream是对输出输入流的扩展,可以直接读写int double等数据类型

下面是今天的练习,细节都写到注释里面了:

 package Zhang;

 import java.io.DataInputStream;

 import java.io.DataOutputStream;

 import java.io.File;

 import java.io.FileInputStream;

 import java.io.FileOutputStream;

 public class DataStreamTest {

       public static void main(String[] args) throws Exception{

             //创建文件

             File file=new File("/home/zhang/Desktop/DataStreamTest.dat");

             if(!file.exists()){

                   file.createNewFile();

             }

             //DataOutputStream&DataInputStream是对输出输入流的扩展,可以直接读写int double等数据类型

             //采用的设计模式是装饰模式

             DataOutputStream dos=new DataOutputStream(new FileOutputStream(file));

             DataInputStream dis=new DataInputStream(new FileInputStream(file));

             int testInt=2016;

             double testDouble=10.12;

             long testLong=20161012;

             dos.writeInt(testInt);

             dos.writeDouble(testDouble);

             dos.writeLong(testLong);

             /*

             * dos.writeUTF("xxx")在写入字符串到文件的同时,在文件中也保存了该字符串的长度,这样

             * 在使用dis.readUTF()的时候就可以先获取文件中保存的字符串的长度信息,然后读取这个长度

             * 的字符串。

             * utf-8 一个汉字占用3个字节

             * */

             dos.writeUTF("今天的");

             dos.writeUTF("天气非常好");

             dos.close();

             int intTest=dis.readInt();

             System.out.println(intTest);

             double doubleTest=dis.readDouble();

             System.out.println(doubleTest);

             long longTest=dis.readLong();

             System.out.println(longTest);

             String time=dis.readUTF();

             String how=dis.readUTF();

             System.out.println(time+"\t"+how);

             dis.close();     

       }

 }

最新文章

  1. JavaScript通过元素id和name直接获取元素的方法
  2. BackgroundWorker组件的作用
  3. 剑指offer系列18---顺时针打印矩阵
  4. C#中 多线程执行含有返回值的函数
  5. LVS概述
  6. CCNA实验(9) -- Frame Relay
  7. 重写ArcGIS的TiledMapServiceLayer呼叫世界地图图块
  8. Allegro PCB -内层分割,比如电源层需要分割几种电源
  9. Python学习日志_2017/09/08
  10. Appium 命令行模式下遇到的问题总结及解决方案 npm ERR! tar.unpack unzip(或者untar) error
  11. jenkins+git+maven
  12. 客户化软件时代的前夜 ZT
  13. scrapy基本使用(一)
  14. JavaScript字符串API
  15. 第 8 章 容器网络 - 068 - 分析 Calico 的网络结构
  16. 键盘按键js效果
  17. SG 大法(Sprague-Grundy函数)
  18. Linux 下 SVN服务器搭建
  19. ionic 监听路由事件变化
  20. java基础-day30

热门文章

  1. maven入门(10)maven的仓库
  2. BAT美团滴滴java面试大纲(带答案版)之三:多线程Lock
  3. MongoDB系列四(索引).
  4. HTNL表单详解
  5. AFNetWorking常用方法
  6. 算法 排序NB二人组 堆排序 归并排序
  7. filter过滤器与map映射
  8. 列表&元组的内置方法
  9. 使用vue-cli快速搭建大型单页面应用开发环境
  10. 机器学习:scipy和sklearn中普通最小二乘法与多项式回归的使用对