通信:组合输入输出流

组合输入输出流

 

Java中与流相关的类可以组合起来从而提供强大的功能。例如,我们可以将一个Socket实例的OutputStream包装在一个BufferedOutputStream实例中,这样可以先将字节暂时缓存在一起,然后再一次全部发送到底层的通信信道中,以提高程序的性能。我们还能再将这个BufferedOutputStream实例包裹在一个DataOutputStream实例中,以实现发送基本数据类型的功能。以下是实现这种组合的代码:

Socket socket = new Socket(server, port);

DataOutputStream out = new DataOutputStream(

new BufferedOutputStream(socket.getOutputStream()));

(点击查看大图)图3.1:流组合

bytes:字节;Network:网络

3.1Java输入输出类

输入输出

3.1展示了这中组合。在这个例子中,我们先将基本数据的值,一个一个写入DataOutputStream中,DataOutputStream再将这些数据以二进制的形式写入BufferedOutputStream将三次写入的数据缓存起来,然后再由BufferedOutputStream一次性地将这些数据写入套接字的OutputStream,最后由OutputStream将数据发送到网络。在另一个终端,我们创建了相应的组合InputStream,以有效地接收基本数据类型。

 Java输入输出API的完整介绍不在本书的讨论范围中,不过,表3.1列出了一些相关的Java输入输出类,为介绍它们的强大功能起一个抛砖引玉的作用。

 

相关下载:

Java_TCPIP_Socket编程(doc)

http://download.csdn.net/detail/undoner/4940239

 

文献来源:

UNDONER(小杰博客) :http://blog.csdn.net/undoner

LSOFT.CN(琅软中国) :http://www.lsoft.cn

 

原文地址:https://www.cnblogs.com/wuyida/p/6301079.html