zoukankan      html  css  js  c++  java
  • JAVA基础——数据流

    DataInputStream 类和DataOutputStream 类

    在前面的学习中,我们知道数据流处理的数据都是指字节或字节数组,但实际上很多时候不是这样的,它需要数据流能直接读、写各种各样的java语言的基本数据类型。例如在一个文件中存放300个整数值,从中读取时,希望按int为基本单位进行读取,这样可以大大节省时间。这时就需要使用DataInputStream和DataOutputStream,DataInputStream和DataOutputStream不但支持父类InputStream和OutputStream中的方法,以原有方式读写数据,同时还允许通过数据流来读写java语言的基本数据类型,包括int、float、double和double等。其构造函数形式如下:
        DataInputStream(Obj)

        DataOutputStream(Obj)

        Obj为已经建立好的输入输出数据流对象
         DatainputStream 和 DataOutputStream之所以能够对这些原始类型进行操作,是因为他们有一组特定的方法。

    DataInputStream 的常用方法如下:
         -> byte readByte()

         -> long readLong()

         -> double readDouble()

         -> boolean readBoolean()

         -> String readUTF()

         -> int readInt()

         -> float readFloat()

         -> short readShort()

         -> char readChar()
         以上这些方法分别对int、byte、float、char等类型进行读取。
         -> void writeByte(int a)

         -> void writeLong(long a)

         -> void wirteDouble(double a)

         -> void writeBoolean(boolean a)

         -> void writeUTF(String a)

         -> void writeInt(int a)

         -> void writeChar(char a)

         -> void writeFloat(float a)

         -> void writeShort(short a)
         以上这些方法分别对int、byte、float、char等类型进行写入。

     以下是关于DataInputStream 和 DataOutputStream 实例:

    package com.feicuiedu.test;

    import java.io.*;
        public class Liu_Test{         

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

                  FileOutputStream fos = new FileOutputStream("text.txt");

                  DataOutputStream dos = new DataOutputStream(fos);

                  dos.writeInt(12);

                  dos.writeDouble(2.23d);

                  dos.writeBoolean(true);

                  dos.writeUTF("java 数据流测试#");

                 fos.close( );

                  FileInputStream fis = new FileInputStream("text.txt");

                  DataInputStream dis = new DataInputStream(fis);

                  System.out.println(dis.readInt( ) );  

                 System.out.println(dis.readDouble( ) );

                  System.out.println(dis.readBoolean( ) );  

                 System.out.println(dis.readUTF( ) );

                   fis.close( );

               }     }

    输出结果:

  • 相关阅读:
    POJ 3268 Silver Cow Party (Dijkstra)
    怒学三算法 POJ 2387 Til the Cows Come Home (Bellman_Ford || Dijkstra || SPFA)
    CF Amr and Music (贪心)
    CF Amr and Pins (数学)
    POJ 3253 Fence Repair (贪心)
    POJ 3069 Saruman's Army(贪心)
    POJ 3617 Best Cow Line (贪心)
    CF Anya and Ghosts (贪心)
    CF Fox And Names (拓扑排序)
    mysql8.0的新特性
  • 原文地址:https://www.cnblogs.com/huan-guo/p/8524630.html
Copyright © 2011-2022 走看看