天天看點

Java中資料輸入輸出流資料輸入/輸出流----------DataInputStream/DataOutputStream1.概念2.代碼示例

資料輸入/輸出流----------DataInputStream/DataOutputStream

1.概念

DataOutputStream

    資料輸出流允許應用程式以适當方式将基本 Java 資料類型寫入輸出流中。然後應用程式可以使用資料輸入流将資料讀入。

DataOutputStream

    資料輸入流允許應用程式以與機器無關方式從底層輸入流中讀取基本 Java 資料類型。應用程式可以使用資料輸出流寫入稍後由資料輸入流讀取的資料。對于多線程通路不一定是安全的。 線程安全是可選的,它由此類方法的使用者負責。

2.代碼示例

/**
 * 
 * @author guoxk
 *
 * @version 建立時間 2015年10月28日 下午4:13:15
 *
 * 類描述:DataOutputStream/DataInputStream--------必須先使用DataOutputStream寫入資料,然後使用DataInputStream讀取資料方可</span>
 *
 */
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);  
    }  
}