letter Y A N. G Brass Letter F a n-spo D Pewter Uppercase Letter I N G
随笔 - 4, 文章 - 10, 评论 - 2, 引用 - 0

导航

<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

公告

<A id=fs_1 title="letter Y" href="http://www.flickr.com/photos/49968232@N00/3212472314"><IMG alt="letter Y" src="http://static.flickr.com/3383/3212472314_5b6e6fe86b_s.jpg" border=0></A> <A id=fs_2 title=A href="http://www.flickr.com/photos/92745470@N00/2752700145"><IMG alt=A src="http://static.flickr.com/3100/2752700145_fdba82fb73_s.jpg" border=0></A> <A id=fs_3 title=N. href="http://www.flickr.com/photos/8701253@N08/2557725687"><IMG alt=N. src="http://static.flickr.com/3063/2557725687_7be05e2229_s.jpg" border=0></A> <A id=fs_4 title=G href="http://www.flickr.com/photos/95229107@N00/2429871767"><IMG alt=G src="http://static.flickr.com/2191/2429871767_fc380192ec_s.jpg" border=0></A> <A id=fs_5 title="Brass Letter F" href="http://www.flickr.com/photos/49968232@N00/2258452895"><IMG alt="Brass Letter F" src="http://static.flickr.com/2261/2258452895_ea8960e8ae_s.jpg" border=0></A> <A id=fs_6 title=a href="http://www.flickr.com/photos/92745470@N00/2753531212"><IMG alt=a src="http://static.flickr.com/3279/2753531212_b0caf6607b_s.jpg" border=0></A> <A id=fs_7 title=n-spo href="http://www.flickr.com/photos/63943575@N00/2575056456"><IMG alt=n-spo src="http://static.flickr.com/3189/2575056456_20e52769c3_s.jpg" border=0></A> <A id=fs_8 title=D href="http://www.flickr.com/photos/16324044@N00/2974100744"><IMG alt=D src="http://static.flickr.com/3242/2974100744_39a32e6e6f_s.jpg" border=0></A> <A id=fs_9 title="Pewter Uppercase Letter I" href="http://www.flickr.com/photos/49968232@N00/2241943956"><IMG alt="Pewter Uppercase Letter I" src="http://static.flickr.com/2363/2241943956_82a2e451d6_s.jpg" border=0></A> <A id=fs_10 title=N href="http://www.flickr.com/photos/49968232@N00/2586837312"><IMG alt=N src="http://static.flickr.com/3064/2586837312_d6f8a346c0_s.jpg" border=0></A> <A id=fs_11 title=G href="http://www.flickr.com/photos/34427470616@N01/2458250976"><IMG alt=G src="http://static.flickr.com/2232/2458250976_7275a7d5d9_s.jpg" border=0></A>

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

收藏夹

java

搜索

  •  

最新评论

  • 1. re: 实现 Java 多线程并发控制框架
  • 不知道您看懂了这篇文章了没有?反正我是看不懂,不知道你能不能实现份代码?如果能的话能话,能不能给我一份?谢谢啦 junmingabc@gmail.com
  • --小陈
  • 2. re: ThreadLocal与synchronize
  • 之所以用不同的对象作为锁,是希望每一个同步块同时都只能被一个线程所访问,而不是所有同步块只能被一个线程所访问,这是我的理解,不知道是否正确。
  • --rainman

阅读排行榜

评论排行榜

ByteArrayOutputStream和ByteArrayInputStream详解

ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:

ByteArrayOutputStream:    可以捕获内存缓冲区的数据,转换成字节数组。

ByteArrayInputStream: 可以将字节数组转化为输入流

 1import java.io.*;
 2
 3public class test {
 4 public static void main(String[] args) {
 5  int a=0;
 6  int b=1;
 7  int c=2;
 8  ByteArrayOutputStream bout = new ByteArrayOutputStream();
 9  bout.write(a);
10  bout.write(b);
11  bout.write(c);
12  byte[] buff = bout.toByteArray();
13  for(int i=0; i<buff.length; i++)
14   System.out.println(buff[i]);
15  System.out.println("***********************");
16  ByteArrayInputStream bin = new ByteArrayInputStream(buff);
17  while((b=bin.read())!=-1{
18   System.out.println(b);
19  }

20 }

21}

22
23
24

如上所示,ByteArrayOutputStream把内存中的数据读到字节数组中,而ByteArrayInputStream又把字节数组中的字节以流的形式读出,实现了对同一个字节数组的操作.

综合DataOutputStream&DataInputStream的作用和功能,与ByteArrayOutputStream和ByteArrayInputSream使用将更方便.此时DataOutputStream&DataInputStream封闭了字节流,以适当的形式读出了字节数组中的数据.如下所示:

 1import java.io.*;
 2
 3public class test {
 4 public static void main(String[] args)throws IOException {
 5  ByteArrayOutputStream bout = new ByteArrayOutputStream();
 6  DataOutputStream dout = new DataOutputStream(bout);
 7  String name = "xxy";
 8  int age = 84;
 9  dout.writeUTF(name);
10  dout.writeInt(age);
11  byte[] buff = bout.toByteArray();
12  ByteArrayInputStream bin = new ByteArrayInputStream(buff);
13  DataInputStream dis = new DataInputStream(bin);
14  String newName = dis.readUTF();
15  int newAge = dis.readInt();
16  System.out.println(newName+":"+newAge);
17 }

18}

posted on 2008-10-01 23:39 rainman 阅读(19666) 评论(0)  编辑  收藏 所属分类: java i/o


只有注册用户登录后才能发表评论。


网站导航: