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();     

       }

 }

DataOutputStream&DataInputStream的更多相关文章

  1. Java关于IO流的介绍

    JDK提供的流继承了四大类:InputStream(字节输入流).OutputStream(字节输出流).Reader(字符输入流).Writer(字符输出流). 字符流和字节流的主要区别:     ...

  2. 第27章 java I/O输入输出流

    java I/O输入输出流 1.编码问题 import java.io.UnsupportedEncodingException; /** * java涉及的编码 */ public class En ...

  3. Java中的Serializable接口transient关键字,及字节、字符、对象IO

    1.什么是序列化和反序列化Serialization是一种将对象转为为字节流的过程:deserialization是将字节流恢复为对象的过程. 2.什么情况下需要序列化a)当你想把的内存中的对象保存到 ...

  4. 字节流InputStream/OutputStream

    字节流InputStream/OutputStream 本篇将对JAVA I/O流中的字节流InputStream/OutputStream做个简单的概括: 总得来说,每个字节流类都有一个对应的用途, ...

  5. JAVA的面向对象编程--------课堂笔记

    面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么 ...

  6. 20145317彭垚 《Java程序设计》第6周学习总结

    20145317彭垚 <Java程序设计>第6周学习总结 第十章 输入/输出 10.1 InputStream与OutputStream 1.串流设计的概念 Java将输入/输出抽象化为串 ...

  7. 文件传输基础——Java IO流

    一.文件的编码 package com.study.io; /** * 测试文件编码 */ public class EncodeDemo { /** * @param args * @throws ...

  8. 20145227 《Java程序设计》第6周学习总结

    20145227 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream 1.串流设计的概念 Java将输入/ ...

  9. Java I/O输入输出流详解

    一.文件的编码               开发时一定要注意项目默认的编码!!!!!!!!               文件操作的时候一定要记得关闭!!!!!!!!        ASCII:美国标准 ...

随机推荐

  1. css回顾之左侧宽度自适应布局

    目标: <!DOCTYPE html> <meta charset=utf-8> <html> <head> <title>alibaba& ...

  2. MySql查询正在进行中的事务

    用法 SELECT * FROM information_schema.INNODB_TRX 这个只能查询此刻正在进行中的事务,已经完成的是查不到的 表字段定义 The INFORMATION_SCH ...

  3. ACE之通信的设计空间

    本篇文章主要介绍 .无连接的和面向连接的协议之间的对比 .同步的和异步的消息交换之间的对比. .消息传递和共享内存之间的对比. 1:无连接和面向连接的协议对比 协议(protocol)是指一组规则,这 ...

  4. 新购阿里云服务器ECS创建之后无法ssh连接的问题处理

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 问题描述 由于原服务器将要到期,因此趁着阿里云搞促销活动重新购买了一 ...

  5. 【Android】Mac下Android Studio设置App启动页

    先将启动页放到项目资源中,图片一般是1080*1920的jpg. 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: public class BZLa ...

  6. YARN中FIFO、Capacity以及Fari调度器的详细介绍

    (1)FIFO Scheduler 将所有的Applications放到队列中,先按照作业的优先级高低.再按照到达时间的先后,为每个app分配资源.如果第一个app需要的资源被满足了,如果还剩下了资源 ...

  7. Thread源码剖析

    前言 昨天已经写了: 多线程三分钟就可以入个门了! 如果没看的同学建议先去阅读一遍哦~ 在写文章之前通读了一遍<Java 核心技术 卷一>的并发章节和<Java并发编程实战>前 ...

  8. 031718-js变量、数据类型、运算符

    1.关键字.标识符.变量(是一个名称,最好用字母开头,对大小写敏感).常量 (是有数据类型的一个值) 变量: ①定义并赋值 ②使用   2.数据类型:数字  字符串  布尔  null  undefi ...

  9. [LeetCode] Circular Array Loop 环形数组循环

    You are given an array of positive and negative integers. If a number n at an index is positive, the ...

  10. Scriplet的三种代码

    Jsp中注释分为显示注释和隐式注释, 显示注释 -- 可以通过查看源代码看到 <!-- 第一种注释 -->  隐式注释 --  源代码中看不到 <%--jsp注释---%> & ...