zoukankan      html  css  js  c++  java
  • Java IO流 DataOutputStream、DataInputStream的基本使用

                DataOutputStream、DataInputStream的基本使用

      DataInputStream数据输入流允许应用程序以独立于机器的方式从底层输入流读取原始Java数据类型。应用程序使用数据输出流来写入稍后可以被数据输入流读取的数据。DataInputStream对于多线程访问来说不一定是安全的。 线程安全是可选的,由程序员自行选择。

      DataOutputStream数据输出流使应用程序以便携式方式将原始Java数据类型写入输出流。然后应用程序可以使用数据输入流来读取数据。以下例子是DataOutputStream和DataInputStream的简单使用。首先是通过数据输出流DataOutputStream在指定文件写入数据,然后再通过DataInputStream进行读取。FileInputStream的使用可参考https://www.cnblogs.com/jhtian/p/14110083.html

    测试代码:

    package com.tianjh.io.outputstream;
    
    import java.io.*;
    
    /**
     * Created on 2020/12/10
     * A data output stream lets an application write primitive Java data
     * types to an output stream in a portable way. An application can
     * then use a data input stream to read the data back in.
     *
     * 数据输出流使应用程序以便携式方式将原始Java数据类型写入输出流。
     * 然后应用程序可以使用数据输入流来读取数据。
     * 
     */
    public class DataOutputStreamDemo {
        public static void main(String[] args) {
            try {
                String  sourceFile = "D:/data.txt";
    
                /*
                 * $DataOutputStream
                 * A data output stream lets an application write primitive Java data
                 * types to an output stream in a portable way. An application can
                 * then use a data input stream to read the data back in.
                 *
                 * 数据输出流使应用程序以便携式方式将原始Java数据类型写入输出流,
                 * 然后应用程序可以使用数据输入流来读取数据。
                 */
                // 1.使用DataOutputStream数据输出流写入数据到指定文件中
                FileOutputStream fos = new FileOutputStream(sourceFile);
                DataOutputStream dos = new DataOutputStream(fos);
    
                // writeInt 写入int类型
                dos.writeInt(123);
    
                // writeDouble 写入Double 类型
                dos.writeDouble(4.56);
    
                // writeUTF 使用 modified UTF-8编码以机器无关的方式将字符串写入基础输出流。
                dos.writeUTF("hello");
                dos.close();
                fos.close();
    
                /*
                 * $DataInputStream
                 * A data input stream lets an application read primitive Java data
                 * types from an underlying input stream in a machine-independent
                 * way. An application uses a data output stream to write data that
                 * can later be read by a data input stream.
                 * <p>
                 * DataInputStream is not necessarily safe for multithreaded access.
                 * Thread safety is optional and is the responsibility of users of
                 * methods in this class.
                 *
                 * 数据输入流允许应用程序以独立于机器的方式从底层输入流读取原始Java数据类型。
                 * 应用程序使用数据输出流来写入稍后可以被数据输入流读取的数据。
                 * DataInputStream对于多线程访问来说不一定是安全的。 线程安全是可选的,由程序员自行选择
                 */
                // 2.使用DataInputStream数据输入流从指定文件读取数据
                FileInputStream fis = new FileInputStream(sourceFile);
                DataInputStream dis = new DataInputStream(fis);
    
                System.out.println(dis.readInt());
                // expected output: 123
                System.out.println(dis.readDouble());
                // expected output: 4.56
                System.out.println(dis.readUTF());
                // expected output: hello
                dis.close();
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    上述列子输出结果为:

      123
      4.56
      hello

     

  • 相关阅读:
    codeforces#1343E. Weights Distributing(bfs)
    Windows编程调试技巧-控制台调试
    Windos编程中窗口的尺寸cxClient和cyClient初始化的问题
    windows下pip安装python模块时报错总结
    .md即markdown文件的基本常用编写语法(图文并茂)
    如何转载cnsd的博客
    codeforces#1332F. Independent Set(树上dp)
    codeforces#1333 E. Road to 1600(构造)
    codeforces#1329C
    codeforces#1293E. Xenon's Attack on the Gangs(树上dp)
  • 原文地址:https://www.cnblogs.com/jhtian/p/14116029.html
Copyright © 2011-2022 走看看