java io流 數據流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream
阿新 • • 發佈:2017-05-30
clas mat 分享 col -s 例子 oid 類型 write
例子程序:
package io; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; public class TestDataStream { public static void main(String[] args) { /** * 在內存裏創建一個字節數組,ByteArrayOutputStream這根管道是懟到了內存上*/ ByteArrayOutputStream baos = new ByteArrayOutputStream(); //將基本 Java 數據類型寫入輸出流中 DataOutputStream dos = new DataOutputStream(baos); try { //寫入double類型,8個字節 dos.writeDouble(Math.random()); dos.writeBoolean(true);//布爾類型1個字節 /*** 相當於這根管道懟到了ByteArrayOutputStream上邊。拿到了字節數組在內存的引用。 */ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); //輸入流剩余可讀字節數 System.out.println(bais.available());//一共9個字節 DataInputStream dis = newDataInputStream(bais); System.out.println(dis.readDouble()); System.out.println(dis.readBoolean()); /** * colse之後,內存的字節數組沒了。 */ dos.close(); dis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
java io流 數據流 DataInputStream、DataOutputStream、ByteArrayInputStream、ByteArrayOutputStream