`

java IO管道流

 
阅读更多
package com.io.file;

import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;


/**
 * @类功能说明:管道流
 * @类修改者:
 * @修改日期:
 * @修改说明:
 * @作者:matieli
 * @创建时间:May 26, 2012 9:56:29 AM
 * @版本:V1.0
 *
 */
class Read implements Runnable {
	private PipedInputStream in;

	public Read(PipedInputStream in) {
		this.in = in;
	}

	public void run() {
		try {
			
			byte[] b = new byte[1024];
			System.out.println("读取前,没有数据就阻塞");
			int len = in.read(b);
			System.out.println("读到数据,阻塞结束");
			String s = new String(b, 0, len);
			System.out.println(s);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
}

class Write implements Runnable {
	private PipedOutputStream out;

	public Write(PipedOutputStream out) {
		this.out = out;
	}

	public void run() {
		try {
			System.out.println("开始写入数据,等待5秒");
			Thread.sleep(5000);
			out.write("管道流来了".getBytes());
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

public class PipedStreamDemo {
	public static void main(String[] args)throws Exception {
		PipedInputStream in=new PipedInputStream();
		PipedOutputStream out=new PipedOutputStream();
		in.connect(out);//使管道流,链接起来
		
		Read r=new Read(in);
		Write w=new Write(out);
		
		new Thread(r).start();
		new Thread(w).start();
	}
}

分享到:
评论

相关推荐

    Java IO流文档

    ### Java IO流详解 #### 一、Input和Output Stream概览 在Java中,输入输出流(简称IO流)是用来处理文件读写的核心技术之一。它主要包括两类:以字节为导向的流和以字符为导向的流。 ##### 1.1 以字节为导向的流...

    JavaIO流详细总结

    Java IO流是Java编程语言中处理输入和输出的重要机制,它允许程序与各种类型的输入源(如键盘、文件、网络连接)以及输出目标(如显示器、文件、网络)进行交互。在Java中,I/O流被设计为面向对象,使得处理数据变得...

    《JAVA_IO流学习总结》

    三、管道流和缓冲流 - PipedInputStream和PipedOutputStream允许在不同线程间传递数据,形成管道。 - 缓冲流(BufferedInputStream/BufferedReader等)在内部维护一个缓冲区,提高读写效率,减少对底层操作系统的...

    java io流源代码

    6.管道流(Piped): - **PipedInputStream** 和 **PipedOutputStream** 用于线程间的通信,一个线程写入数据,另一个线程读取数据。 7. 缓冲流(Buffered): - **BufferedInputStream** 和 **...

    java零基础自学 之 JavaIO流处理

    管道流(PipedReader、PipedWriter、PipedInputStream和PipedOutputStream)允许在不同线程间进行数据通信,提供了一种内部的连接机制。 8. **数据流** DataInputStream和DataOutputStream可以读写基本数据类型,...

    Javaio流思维导图

    管道流PipedInputStream和PipedOutputStream用于线程间通信,它们创建了一个数据通道,使得一个线程可以向管道写入数据,另一个线程可以从管道读取。 还有FileChannel和Selector等NIO(非阻塞I/O)组件,它们在高...

    java中IO流例子

    Java中的IO流是Java平台提供的一种处理输入输出数据的核心机制,广泛应用于文件读写、网络通信、数据转换等场景。IO流分为字节流(Byte Stream)和字符流(Character Stream),它们构成了Java IO系统的基础。 1. *...

    javaIO(java中的流的介绍)

    在Java中,流(Stream)是IO系统的核心概念,它们可以被视为数据的序列,既可以读取(Input Stream)也可以写入(Output Stream)。 1. 输入流(Input Stream) - InputStream:所有输入流的基类,用于读取原始...

    java_IO流的处理.ppt

    Java IO流处理是Java编程中一个非常重要的概念,它用于在不同数据源之间传输数据,如文件、网络、内存等。在Java中,IO流分为两大类:输入流(Input Stream)和输出流(Output Stream),它们分别用于数据的读取和...

    java_io流的处理

    总结而言,Java的I/O流体系庞大且灵活,涵盖了字节流、字符流、对象流、管道流等多种类型,满足了从简单的文件读写到复杂的数据处理的各种需求。理解并熟练掌握这些流的使用,对于任何Java开发者来说都是至关重要的...

    Java_IO.rar_IO流 java_java io流

    Java IO流是Java编程语言中处理输入输出的重要组成部分,它为数据传输提供了高效且灵活的方式。在Java中,IO流可以分为两类:字节流(处理单个字节)和字符流(处理Unicode字符)。此外,它们又可以分为四大类:输入...

    java IO流 教程宝典

    5. **管道流**:如PipedInputStream和PipedOutputStream,用于线程间的通信。 Java IO流提供了丰富的功能,理解和掌握流的使用对于Java开发者至关重要。通过深入学习这些流,你可以更有效地管理数据的输入输出,...

    Java IO流几种经典使用方式

    - `PipedInputStream`:用于管道流,通常与`PipedOutputStream`配对使用,实现线程间的数据传输。 - `SequenceInputStream`:将多个`InputStream`合并为一个流。 - **OutputStream**:用于写入字节数据。 - `...

    java io流的实践案例大全

    7. **管道流**(PipedInputStream和PipedOutputStream)用于线程间的通信,一个线程写入数据,另一个线程读取。 8. **数据流**:DataInputStream和DataOutputStream支持基本数据类型的读写,如readInt()和...

    java中的IO流操作大全

    在Java中,IO流操作是用于处理输入与输出的抽象机制,它提供了在不同的数据源和目标之间传输数据的手段。流的概念最早起源于UNIX系统中的管道概念,是一个连续的数据流,可以理解为水流,从源端流向目的端。 一、流...

    Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    管道流允许在两个线程之间创建数据通道,如PipedInputStream和PipedOutputStream,常用于多线程间的通信。 8. **文件操作** Java IO流中的File类提供了文件的创建、删除、重命名等操作,FileInputStream和...

    java io.pdf

    5. **管道流(Pipe Streams)**:在多线程环境中,管道流允许线程间的数据通信。PipedInputStream和PipedOutputStream就是这样的例子。 6. **转换流(Transformer Streams)**:InputStreamReader和OutputStreamWriter...

    java IO流读写

    Java IO流是Java平台中用于处理输入和输出的重要机制,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流...

    java IO流(包含类之间的关系图)

    Java IO流(包含类之间的关系图) Java IO流是Java语言中用于输入/输出操作的基础组件,涵盖了字节流和字符流两大类别。了解IO流的类之间的关系图是初学者学习Java IO流的基础。 字节流 字节流是Java IO流中最...

Global site tag (gtag.js) - Google Analytics