黑马程序员技术交流社区

标题: Soket与io [打印本页]

作者: 郭振    时间: 2012-5-17 13:12
标题: Soket与io
Soket中的getInputStream(),getOutputStream与io中的InputStream,OutputStream有什么关系和区别,他们一般都应用在哪里?
作者: 彩虹    时间: 2012-5-17 14:20
       socket中的getInputStream()方法:返回此套接字的输入流。如果此套接字具有关联的通道,则所得的输入流会将其所有操作委托给通道。如果通道为非阻塞模式,则输入流的 read 操作将抛出 IllegalBlockingModeException。
       socket中的getOutputStream()方法:返回此套接字的输出流。如果此套接字具有关联的通道,则得到的输出流会将其所有操作委托给通道。如果通道为非阻塞模式,则输出流的 write 操作将抛出 IllegalBlockingModeException。
       io中的InputStream:是表示字节输入流的所有类的超类。
       io中的OutputStream:是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。
Soket中的getInputStream(),getOutputStream()与io中的InputStream,OutputStream没有太大的联系,因为前者属于网络编程中的输入输出流方法,而后者是io中定义的所有输入输出字节流的超类,在io中没有getInputStream(),getOutputStream()方法。他们属于两个不同的包。

作者: 于潇    时间: 2012-5-17 16:27
本帖最后由 于潇 于 2012-5-17 16:30 编辑

socket应用于网络程序,io的输入输出不具备网络特征,用法上有些相似,但没有什么联系。
作者: 郭振    时间: 2012-5-17 16:50
于潇 发表于 2012-5-17 16:27
socket应用于网络程序,io的输入输出不具备网络特征,用法上有些相似,但没有什么联系。 ...

呵呵。谢谢了。
作者: 于潇    时间: 2012-5-17 16:55
郭振 发表于 2012-5-17 16:50
呵呵。谢谢了。

谢啥,共同进步!
作者: 李保成    时间: 2012-5-17 17:09
呵呵 简单说一下我的理解吧  首先要明确socket通讯的时候 他的数据靠什么来传输 肯定是以流的方式来传输 是吧 那么这时候就会与IO流产生关联  如何产生关联呢 那这时候就需要使用到getInputStream()和getOutputStream()方法 至于说这两个方法所返回的对象肯定要么是输出流 要么是输入流 那么这时候是不是跟IO结合的更紧密了呢? 好了,个人见解到此,仅供参考。谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2