數(shù)據(jù)流的代碼
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
/*
?* 數(shù)據(jù)流:
?* 1先寫出后讀取
?* 2讀取的順序和寫出保持一致
?*/
public class DataTest {
?? ?public static void main(String[] args) throws IOException {
?? ??? ?//字節(jié)數(shù)組流
?? ??? ?ByteArrayOutputStream? baos=new ByteArrayOutputStream();
?? ??? ? //先寫出再讀取,因?yàn)槟悴粚懩阕x什么內(nèi)容,所以你先寫一個(gè)內(nèi)容讓人家讀
?? ??? ?DataOutputStream dos=new DataOutputStream(new BufferedOutputStream(baos));
?? ??? ?//接下來就是怎么寫入到字節(jié)數(shù)組里面了??? 操作數(shù)據(jù)類型+數(shù)據(jù)
?? ??? ?dos.writeUTF("我太難了");
?? ??? ?dos.writeInt(18);
?? ??? ?dos.writeBoolean(false);
?? ??? ?dos.flush();
?? ??? ?byte[]? datas=baos.toByteArray();?? //將字節(jié)流轉(zhuǎn)為字節(jié)數(shù)組
?? ??? ?
?? ??? ?//讀取
?? ??? ?DataInputStream dis=new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));
?? ??? ?//接下來就是從程序里面讀取內(nèi)容,順序要和寫出的一致
?? ??? ? String msg=dis.readUTF();
?? ??? ? int age=dis.readInt();
?? ??? ? boolean flag=dis.readBoolean();
?? ??? ? System.out.println(msg);
?? ??? ?
?? ?}
}
標(biāo)簽: