1. 程式人生 > 實用技巧 >JAVA——緩衝流(DataOutputStream 和DataInputStream)

JAVA——緩衝流(DataOutputStream 和DataInputStream)

package com.cskaoyan.otherstream;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author [email protected].
 * @version 1.0
 *
 * 通過位元組流和字元流的學習,我們已經可以完成許多I/O的工作了,但是這就夠了嗎?

      思考如下問題,如果我要向文字檔案中寫入一個整數怎麼辦?
      位元組流行嗎?字元流呢?

      Java中有專門操作基本資料型別的流:
      DataInputStream
      DataOutputStream

     如果,向流中寫入一個整數
     int a = 2000455;

 */
public class Demo1Data {

  public static void main(String[] args) throws IOException {
    // 如果,要想將一個int整數值通過流寫入外部裝置, 非常麻煩,
    // 因為write(int)一次只能寫入一個int型別資料的低8位
//    int a = 2000455;
//    FileOutputStream fos = new FileOutputStream("a.txt");
//    fos.write(a);


    // 我們可以利用DataOutputStream,將基本資料型別的值,寫入流,從而寫入外部裝置
    // 我們可以利用DataInputStream,將基本資料型別的值,從外部裝置讀取到記憶體

    int a = 2000455;
    DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("a.txt"));
    dataOut.writeInt(a);
    //dataOut.close();
//
    DataInputStream dataInputStream = new DataInputStream(new FileInputStream("a.txt"));
    int i = dataInputStream.readInt();
    System.out.println(i); //2000455


  }

}