package com.wkcto.chapter06.filterstream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* DataInputStream/DataOutputStream
* 可以讀寫帶有數據格式的數據
* 不直接對數據源進行操作, 是處理流
* @author 蛙課網
*
*/
public class Test02 {
public static void main(String[] args) throws IOException {
//1) 保存數據
// writeData();
//2) 讀取文件
readData();
}
//使用DataInputStream讀取文件的內容
private static void readData() throws IOException {
InputStream in = new FileInputStream("d:/def.txt");
DataInputStream dis = new DataInputStream(in);
//讀取的順序要與寫入的順序一致
int num = dis.readInt();
double dd = dis.readDouble();
boolean flag = dis.readBoolean();
String text = dis.readUTF();
dis.close();
System.out.println("num=" + num + " ,dd=" + dd + " ,flag=" + flag + " ,text=" + text);
}
//使用DataOutputStream保存數據
private static void writeData() throws IOException {
OutputStream out = new FileOutputStream("d:/def.txt");
DataOutputStream dos = new DataOutputStream(out);
dos.writeInt(123); //保存整數
dos.writeDouble(3.14); //保存小數
dos.writeBoolean(true); //保存布爾
dos.writeUTF("wkcto"); //保存字符串
dos.close();
}
}