`
哈达f
  • 浏览: 120392 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

PipedStream

    博客分类:
  • j2se
 
阅读更多
import java.io.*;

/*
管道流特点:可以将读取写入流实现连接。通常用于多线程操作流的情况。
*/

class Input implements Runnable
{

	private PipedInputStream pis;
	Input(PipedInputStream pis)
	{
		this.pis = pis;
	}
	public void run()
	{
		try
		{
			byte[] buf = new byte[1024];

			int len = pis.read(buf);

			System.out.println(new String(buf,0,len));

			pis.close();
		}
		catch (Exception e)
		{
			System.out.println(e.toString());
		}
	}
}


class Output implements Runnable
{

	private PipedOutputStream pos;
	Output(PipedOutputStream pos)
	{
		this.pos = pos;
	}
	public void run()
	{
		try
		{
			Thread.sleep(4000);
			pos.write("piped come in".getBytes());

			pos.close();
		}
		catch (Exception e)
		{
			System.out.println(e.toString());
		}
		
	}
}

class  PipedStream
{
	public static void main(String[] args) throws IOException
	{

		PipedInputStream pis = new PipedInputStream();
		PipedOutputStream pos = new PipedOutputStream();

		pis.connect(pos);

		new Thread(new Input(pis)).start();
		new Thread(new Output(pos)).start();
	}
}

 

分享到:
评论

相关推荐

    管道流PipedStream应用举例

    针对java中的管道流的应用的解析,包括PipedInputStream和PipedOutputStream。

    java流实例.rar

    在“java流实例.rar”这个压缩包中,我们很可能是找到了一系列关于Java流的示例代码,特别是与`InputStream`、`OutputStream`和`PipedStream`相关的。 `InputStream`和`OutputStream`是Java I/O系统中的核心类,...

    Java学习资料 包含了java SE中的集合、String类和IO流中一些常用的API的知识点整理

    还有更高级的流,如FilterStream和PipedStream,提供过滤和管道通信功能。学会灵活运用这些IO流,可以有效地进行数据读写和传输。 在"java-se-demo-master"这个压缩包中,可能包含了各种示例代码和练习,帮助你更好...

    java输入输出流 流式输入与输出

    6. FilterStream、PushbackInputStream和PipedStream FilterStream是所有过滤流的基类,用于在现有流上添加功能。PushbackInputStream允许“回退”或退回已读取的字节,这在需要重新处理某些数据时非常有用。...

    第十二章输入输出流-java程序设计ppt讲义.ppt

    管道流(PipedStream)是Java中的一种特殊流,它允许数据在不同的线程之间传递,实现数据的同步。例如,`PipedInputStream`和`PipedOutputStream`可以连接起来,使得一个线程写入的数据可以被另一个线程读取。 文件...

    分布式架构第十六单元-试题及答案 (2).pdf

    10. 多线程通信:为了实现线程间的通信,可以使用PipedStream,这是一种特殊的流,能够将数据从一个线程传递到另一个线程。 11. 数据结构:栈是一种“先进后出”(FILO)的数据结构,而队列则是“先进先出”(FIFO...

    586.584.JAVA基础教程_IO流-IO流的体系结构(586).rar

    3. 链接流(PipedStream):允许线程间的数据传输,如PipedInputStream和PipedReader。 4. 对象流(Object Stream):用于序列化和反序列化对象,包括ObjectInputStream和ObjectOutputStream。 5. 文件流(File ...

    Java选择题分析 (1).pdf

    9. **I/O流**:Java提供了多种类型的流来处理输入输出,例如DataStream用于对象序列化,FileStream用于文件操作,BufferedStream用于提高数据传输效率,PipedStream用于进程间通信。 10. **事件监听**:Java GUI...

    2021-2022计算机二级等级考试试题及答案No.12622.docx

    13. Java中,管道流(PipedStream)可以实现线程间通信。 14. Java整型常量不能以078开头,因为这代表八进制数,而八进制中不包含8。 15. 文本框没有显示滚动条,可能是MultiLine属性设为了False,不允许多行文本...

    Java选择题剖析.pdf

    Java提供了多种I/O流,如DataStream用于对象序列化,FileStream处理文件操作,BufferedStream提高读写效率,而PipedStream则用于进程间通信,例如在多线程环境下传递数据。 在事件监听方面,不同的组件需要实现相应...

    java io流学习笔记1

    在Java IO中,还有一类“管道流”(PipedStream),它们允许线程间的数据传递。此外,过滤流(FilterStream)是一种特殊的流,可以添加到现有流之上,提供额外的功能,如缓冲、转换或压缩。 Java IO库提供了一些...

    Java io输入输出流及字符集

    1. 管道流(PipedStream) 管道流允许线程间通信,如PipedInputStream和PipedOutputStream,一个线程写入,另一个线程读取。 2. 对象流(Object Stream) ObjectInputStream和ObjectOutputStream允许序列化和反序列...

    2021-2022计算机二级等级考试试题及答案No.9609.docx

    5. 线程通信:Java中,线程间的通信可以通过管道流(PipedStream)实现。 6. 查询设计:在数据库应用中,查询设计视图允许用户组合多个表或查询。正确答案是B,意味着可以添加数据库表或查询。 7. 数据库模式:外...

    java期末复习题详解

    10. 多线程通信:PipedStream(管道流)用于线程间通信,选项D正确。 11. 字节码文件:Java源代码编译后生成.class文件,选项B正确。 12. 表达式计算:在Java中,表达式`y+=z--/++x`先计算`z--`和`++x`(后置递减...

    Java输入输出流的简单设计

    - 管道流(PipedStream)用于线程间的通信,如PipedInputStream和PipedOutputStream。 - 转换流(Wrapper Stream)用于在字节流和字符流之间转换,如InputStreamReader和OutputStreamWriter。 **7. NIO(非阻塞I/O...

    疯狂Java讲义源码(第三部分)

    8. **管道流PipedStream**:允许线程间的数据通信。 ### 第10章:异常处理 异常处理是Java程序中不可或缺的部分,本章内容涵盖: 1. **异常的分类**:区分了检查性异常(Checked Exception)和运行时异常...

    JAVA常用类库课件

    分为字节流(`InputStream`、`OutputStream`)和字符流(`Reader`、`Writer`),并有双向流(`PipedStream`)和转换流(`InputStreamReader`、`OutputStreamWriter`)等。 4. **日期和时间API**:在Java 8中,`java...

    华中科技大学JAVA考前复习资料

    4. **PipedStream:** - **描述**:`PipedInputStream` 和 `PipedOutputStream` 用来实现线程间的通信。 - **应用场景**:多线程环境下的线程间通信。 - **特点**:数据可以从一个线程输出到另一个线程输入。 5....

    java中的Io(input与output)操作总结(四)

    out.write("Hello, PipedStream!".getBytes()); } catch (IOException e) { e.printStackTrace(); } }); Thread consumer = new Thread(() -> { byte[] buffer = new byte[1024]; int read; while ((read ...

Global site tag (gtag.js) - Google Analytics