1. 程式人生 > 實用技巧 >Java IO流 DataOutputStream、DataInputStream的基本使用

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