JavaSE-管道流
1,)创建管道输出流PipedOutputStream pos和管道输入流PipedInputStream pis
2,)将pos和pis匹配,pos.connect(pis);
3,)将pos赋给信息输入线程,pis赋给信息获取线程,就可以实现线程间的通讯了
说白了就是两个线程之间的沟通 一个发送 一个接受 简介来说看下面
PipedInputStream PipedOutputStream.这两个类的实例对象必须要通过connect方法连接.
话不多少 上码!
package hwc.java.IO; //管道流 两个线程之间的爱情故事 import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; /** * Created by onlion on 2017/6/6 0006. */ public class IoRunnable { public static void main(String[] args){ Person p = new Person(); Spook s = new Spook(); try { p.getPos().connect(s.getPis()); } catch (IOException e) { e.printStackTrace(); } new Thread(p).start(); new Thread(s).start(); } } //发送端 class Person implements Runnable{ private PipedOutputStream pos = null; public Person(){ pos = new PipedOutputStream(); } @Override public void run() { String I ="sbbbbbb"; try { pos.write(I.getBytes()); } catch (IOException e) { e.printStackTrace(); } try { pos.close(); } catch (IOException e) { e.printStackTrace(); } } public PipedOutputStream getPos(){ return pos; } } //接收端 class Spook implements Runnable{ PipedInputStream pis = null; public Spook(){ this.pis = new PipedInputStream(); } @Override public void run() { byte[] b = new byte[1024];//这里是内存空间 int length = 0; try { length =pis.read(b); } catch (IOException e) { e.printStackTrace(); } try { pis.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println(new String(b,0,length)); } public PipedInputStream getPis(){ return pis; } }
JavaSE-管道流的更多相关文章
- [javaSE] IO流(管道流)
之前我们使用io流,都是需要一个中间数组,管道流可以直接输入流对接输出流,一般和多线程配合使用,当读取流中没数据时会阻塞当前的线程,对其他线程没有影响 定义一个类Read实现Runable接口,实现r ...
- Java IO7:管道流、对象流
前言 前面的文章主要讲了文件字符输入流FileWriter.文件字符输出流FileReader.文件字节输出流FileOutputStream.文件字节输入流FileInputStream,这些都是常 ...
- MVC5-2 MVC的管道流与路由
自定义Modue与Hander 之前讲了管道流中的Module与Hndler.现在我们可以去自定义Module和Handler Module 其实很简单,一共需要三个步骤 定义一个类去继承IHttpM ...
- MVC5-1 ASP.NET的管道流
MVC5 和WebForm的区别 WebForm是一个Page贯穿了一个.CS代码. 1对1 = 耦合在一起 MVC在Controller中将 bihind和page进行了分离. 多对多 = 松耦合 ...
- JAVA基础学习day22--IO流四-对象序列化、管道流、RandomAccessFile、DataStream、ByteArrayStream、转换流的字符编码
一.对象序列化 1.1.对象序列化 被操作的对象需要实现Serializable接口 1.2.对象序列化流ObjectOutputStream与ObjectInputStream ObjectInpu ...
- Java管道流
管道流的主要作用可以用于两个线程之间的通信,有管道输出流 PipeOutputStream和管道输入流 PipeInputStream.然后通过connect将两个管道连接起来. import jav ...
- Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read ...
- java基础知识回顾之javaIO类--管道流PipedOutputStream和PipedIutputStream
管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream).管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把 ...
- Java管道流PipedStream
管道读取流和管道写入流可以像管道一样对接上,管道读取流就可以读取管道写入流写入的数据.需要注意的是需要加入多线程技术,因为单线程,先执行read,会发生死锁,因为read方法是阻塞式的,没有数据的re ...
- JAVA IO之管道流总结大全(转)
要在文本框中显示控制台输出,我们必须用某种方法“截取”控制台流.换句话说,我们要有一种高效地读取写入到System.out和 System.err 所有内容的方法.如果你熟悉Java的管道流Piped ...
随机推荐
- JVM组成
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...
- Golang 环境配置建议(Atom)
http://www.philo.top/2015/02/06/golang-%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%BB%BA%E8%AE%AE/ 开发环境的 ...
- var $this = $(this)是什么意思?
var $this = $(this) 声明一个变量,$this 是变量名,加$说明是jquery对象. 给声明的变量赋值,赋的值是将this元素转换为jQuery对象.
- php判断图片是否存在的几种方法
在我们日常的开发中,经常需要用到判断图片是否存在,存在则显示,不存在则显示默认图片,那么我们用到的判断有哪些呢?今天我们就来看下几个常用的方法: 1.getimagesize()函数 getimage ...
- Ubuntu编译安装crtmp-server
下载源码 从GitHub上下载:https://github.com/j0sh/crtmpserver.git 编译安装 apt-get install cmake apt-get install l ...
- eclipse配置tomcat后启动报内存错误解决方法
一.双击tomcat服务,打开配置界面 二.打开launch configuration窗口,在Argument最后面加入:-Xms256m -Xmx512m -XX:PermSize=256M -X ...
- 安装ie时,报:此安装不支持您的操作系统的当前语言
打开注册表(win的"运行"栏键入 regedit 再按 OK )的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Nls/ ...
- MySQL触发器在PHP项目中用来做信息备份、恢复和清空的方法介绍
案例:通过PHP后台代码可以将员工的信息删除,将删除的员工信息进行恢复(类似于从回收站中恢复员工信息),并且还可以将已经删除的员工进行清空(类似于清空回复站的功能). 思路:要有一张员工表,还要有一张 ...
- Flask入门之自定义过滤器(匹配器)
1. 动态路由的匹配器? 不知道这种叫啥名,啥用法,暂且叫做匹配器吧. Flask自带的匹配器可以说有四种吧(保守数字,就我学到的) 动态路由本身,可以传任何参数字符串或者数字,如:<user ...
- laravel5.4生成验证码
laravel5.4生成验证码 总结:本篇博客介绍使用gregwar/captcha实现验证码的具体操作步骤,以及可能遇到的问题和解决办法. 转载请注明出处!!!本文地址:http://www.c ...