Java中資料輸入輸出流——DataInputStream和DataOutputStream
阿新 • • 發佈:2018-11-11
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
一、基本概念
DataOutputStream
資料輸出流允許應用程式以適當方式將基本 Java 資料型別寫入輸出流中。然後應用程式可以使用資料輸入流將資料讀入。
DataInputStream
資料輸入流允許應用程式以與機器無關方式從底層輸入流中讀取基本 Java 資料型別。應用程式可以使用資料輸出流寫入稍後由資料輸入流讀取的資料。對於多執行緒訪問不一定是安全的。 執行緒安全是可選的,它由此類方法的使用者負責。
二、例子
/** * 必須先使用DataOutputStream寫入資料,然後使用DataInputStream讀取資料方可。 * * @author xy * */public class TestClass{ public static void main(String[] args) throws Exception { TestClass t = new TestClass(); t.write(); t.read(); } public void write() throws Exception { String path = this.getClass().getClassLoader().getResource("test.txt").toURI().getPath(); OutputStream os = new FileOutputStream(path); DataOutputStream dos = new DataOutputStream(os); dos.writeDouble(Math.random()); dos.writeBoolean(true); dos.writeInt(1000); dos.writeInt(2000); dos.flush(); os.close(); dos.close(); } public void read() throws Exception { InputStream instream = this.getClass().getClassLoader().getResourceAsStream("test.txt"); DataInputStream dis = new DataInputStream(instream); double d = dis.readDouble(); boolean b = dis.readBoolean(); // 先寫的先被讀出來 int i1 = dis.readInt(); int i2 = dis.readInt(); instream.close(); dis.close(); System.out.println(d); System.out.println(b); System.out.println(i1); System.out.println(i2); }}
輸出結果
0.4683893857027681
true
1000
2000