閱讀976 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java中數據輸入輸出流——DataInputStream和DataOutputStream

一、基本概念

DataOutputStream

數據輸出流允許應用程序以適當方式將基本 Java 數據類型寫入輸出流中。然後應用程序可以使用數據輸入流將數據讀入。

DataOutputStream

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

 

二、例子

/**
 * 必須先使用DataOutputStream寫入數據,然後使用DataInputStream讀取數據方可。
 * 
 * @author 徐越
 * 
 */
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

最後更新:2017-04-04 07:03:12

  上一篇:go 一個時代的命名
  下一篇:go 圖的綜合應用-迪傑斯特拉算法(導遊圖)