字節數組流:
ByteArrayOutputStream: 能夠捕獲內存緩衝區的數據,轉換成字節數組。
ByteArrayoutputStream bout=new ByteArrayOutputStream();
bout.write(int a); bout.write(int b); bout.write(int c);
byte[] buf=bout.toByteArray();//獲取內存緩衝中的數據
for(int i=0;i<=buf.length;i++)
{
System.out.println(buf);
}
bout.close();
注:經過調用reset()方法能夠從新定位。
ByteArrayInputStream: 能夠將字節數組轉化爲輸入流
ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
int data=0;
while( (b=bin.read())!=-1)
{
System.out.println(b);
}
bin.close();
與DataOutputStream&DataInputStream聯合使用:
ByteArrayOutputStream bout=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(bout);
String name="suntao";
int age=19;
dos.writeUTF(name);
dos.writeInt(age);
byte[] buf=bout.toByteArray();//獲取內存緩衝區中的數據
dos.close();
bout.close();
ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
DataInputStream dis=new DataInputStream(bin);
String name=dis.readUTF();//從字節數組中讀取
int age=dis.readInt();
dis.close();
bin.close();
注: DataInputStream&DataOutputStream還能夠與FileInputStream&FileOutputStream
聯合使用。
其中:
DataInputStream&DataOutputStream關心如何將數據從高層次的形式轉化成低層次的形式.
FileInputStream&FileOutputStream關心如何操做存儲單元以接受和產生數據。數組