Java IO流->處理流->數據流:DataOutputStream&DataInputStream

圖一:

示例代碼:

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

import org.junit.Test;

public class TestPrintStreamWriter {
	/**
	 * 數據流:用來處理基本的數據類型、String、字節數組的數據	DataOutputStream & DataInputStream
	 */
	//DataOutputStream
	@Test
	public void test2() {
		DataOutputStream dos = null;
		try {
			FileOutputStream fos = new FileOutputStream("data.txt");
			dos = new DataOutputStream(fos);
			
			dos.writeUTF("從前從前,有個人,愛你很久,但風偏偏雨漸漸把距離吹得好遠,好不容易又能多愛你一天,但是故事的最後,你還是說了,拜拜。");
			/*dos.writeBoolean(true);
			dos.writeLong(3456789);*/
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(dos != null) {
				try {
					dos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	@Test
	public void test3() {
		DataInputStream dis = null;
		try {
			dis = new DataInputStream(new FileInputStream("data.txt"));
			//錯誤方式:
			/*byte[] b = new byte[20];
			int len;
			while((len = dis.read(b)) != -1) {
				System.out.println(new String(b , 0 , len));
			}*/
			String str = dis.readUTF();
			System.out.println(str);
			/*boolean b = dis.readBoolean();
			System.out.println(b);
			long l = dis.readLong();
			System.out.println(l);*/
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(dis != null) {
				try {
					dis.close();
				} catch (IOException e) {
					e.printStackTrace();
				} 
			}
		}
	}
}


發佈了49 篇原創文章 · 獲贊 8 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章