数据流的使用

处理流之五:数据流

  • 为了方便地操作Java语言的基本数据类型和String的数据,可以使用数据流。
  • 数据流有两个类:(用于读取和写出基本数据类型,String类的数据)
    • DataInputStream和DataOutputStream
    • 分别“套装”在InputStream和OutputStream子类的流上
  • DataInputStream中的方法
    • boolean readBoolean()
    • byte readByte()
    • char readChar()
    • float readFloat()
    • double reanDouble()
    • short readShort()
    • long readLong()
    • int readInt()
    • String readUTF()
    • void readFully(byte[] b)
  • DataOutputStream中的方法
    • 将上述的方法的read改为相应的write即可。
/*
    3.数据流
    3.1 DataInputStream和DataOutputStream
    3.2 作用:用于读取或写出基本数据类型的变量或字符串

    练习:将内存中的字符串、基本数据类型的变量写出到文件中。

    注意:处理异常的话,仍然应使用try-catch-finally。
     */
    @Test
    public void test3() throws Exception{
        //1.
        DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"));

        //2.
        dos.writeUTF("wsh");
        dos.flush();//刷新操作:将内存中的数据写入文件
        dos.writeInt(23);
        dos.flush();
        dos.writeBoolean(true);
        dos.flush();

        //3.
        dos.close();
    }

    /*
    将文件中存储的基本数据类型变量和字符串读取到内存中,保存在变量中。

    注意点:读取不同类型的数据的顺序要与当初写入文件时,保存的数据的顺序一致!
     */
    @Test
    public void test4() throws Exception{
        //1.
        DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));

        //2.
        String name = dis.readUTF();
        int age = dis.readInt();
        boolean isMale = dis.readBoolean();

        System.out.println("name = " + name);
        System.out.println("age = " + age);
        System.out.println("isMale = " + isMale);

        //3.
        dis.close();
    }
上一篇:构造方法与重载


下一篇:03 基础dos命令