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();
}
}
分享到:
相关推荐
针对java中的管道流的应用的解析,包括PipedInputStream和PipedOutputStream。
在“java流实例.rar”这个压缩包中,我们很可能是找到了一系列关于Java流的示例代码,特别是与`InputStream`、`OutputStream`和`PipedStream`相关的。 `InputStream`和`OutputStream`是Java I/O系统中的核心类,...
还有更高级的流,如FilterStream和PipedStream,提供过滤和管道通信功能。学会灵活运用这些IO流,可以有效地进行数据读写和传输。 在"java-se-demo-master"这个压缩包中,可能包含了各种示例代码和练习,帮助你更好...
6. FilterStream、PushbackInputStream和PipedStream FilterStream是所有过滤流的基类,用于在现有流上添加功能。PushbackInputStream允许“回退”或退回已读取的字节,这在需要重新处理某些数据时非常有用。...
管道流(PipedStream)是Java中的一种特殊流,它允许数据在不同的线程之间传递,实现数据的同步。例如,`PipedInputStream`和`PipedOutputStream`可以连接起来,使得一个线程写入的数据可以被另一个线程读取。 文件...
10. 多线程通信:为了实现线程间的通信,可以使用PipedStream,这是一种特殊的流,能够将数据从一个线程传递到另一个线程。 11. 数据结构:栈是一种“先进后出”(FILO)的数据结构,而队列则是“先进先出”(FIFO...
3. 链接流(PipedStream):允许线程间的数据传输,如PipedInputStream和PipedReader。 4. 对象流(Object Stream):用于序列化和反序列化对象,包括ObjectInputStream和ObjectOutputStream。 5. 文件流(File ...
9. **I/O流**:Java提供了多种类型的流来处理输入输出,例如DataStream用于对象序列化,FileStream用于文件操作,BufferedStream用于提高数据传输效率,PipedStream用于进程间通信。 10. **事件监听**:Java GUI...
13. Java中,管道流(PipedStream)可以实现线程间通信。 14. Java整型常量不能以078开头,因为这代表八进制数,而八进制中不包含8。 15. 文本框没有显示滚动条,可能是MultiLine属性设为了False,不允许多行文本...
Java提供了多种I/O流,如DataStream用于对象序列化,FileStream处理文件操作,BufferedStream提高读写效率,而PipedStream则用于进程间通信,例如在多线程环境下传递数据。 在事件监听方面,不同的组件需要实现相应...
在Java IO中,还有一类“管道流”(PipedStream),它们允许线程间的数据传递。此外,过滤流(FilterStream)是一种特殊的流,可以添加到现有流之上,提供额外的功能,如缓冲、转换或压缩。 Java IO库提供了一些...
1. 管道流(PipedStream) 管道流允许线程间通信,如PipedInputStream和PipedOutputStream,一个线程写入,另一个线程读取。 2. 对象流(Object Stream) ObjectInputStream和ObjectOutputStream允许序列化和反序列...
5. 线程通信:Java中,线程间的通信可以通过管道流(PipedStream)实现。 6. 查询设计:在数据库应用中,查询设计视图允许用户组合多个表或查询。正确答案是B,意味着可以添加数据库表或查询。 7. 数据库模式:外...
10. 多线程通信:PipedStream(管道流)用于线程间通信,选项D正确。 11. 字节码文件:Java源代码编译后生成.class文件,选项B正确。 12. 表达式计算:在Java中,表达式`y+=z--/++x`先计算`z--`和`++x`(后置递减...
- 管道流(PipedStream)用于线程间的通信,如PipedInputStream和PipedOutputStream。 - 转换流(Wrapper Stream)用于在字节流和字符流之间转换,如InputStreamReader和OutputStreamWriter。 **7. NIO(非阻塞I/O...
8. **管道流PipedStream**:允许线程间的数据通信。 ### 第10章:异常处理 异常处理是Java程序中不可或缺的部分,本章内容涵盖: 1. **异常的分类**:区分了检查性异常(Checked Exception)和运行时异常...
分为字节流(`InputStream`、`OutputStream`)和字符流(`Reader`、`Writer`),并有双向流(`PipedStream`)和转换流(`InputStreamReader`、`OutputStreamWriter`)等。 4. **日期和时间API**:在Java 8中,`java...
4. **PipedStream:** - **描述**:`PipedInputStream` 和 `PipedOutputStream` 用来实现线程间的通信。 - **应用场景**:多线程环境下的线程间通信。 - **特点**:数据可以从一个线程输出到另一个线程输入。 5....
out.write("Hello, PipedStream!".getBytes()); } catch (IOException e) { e.printStackTrace(); } }); Thread consumer = new Thread(() -> { byte[] buffer = new byte[1024]; int read; while ((read ...