package com.study.io.inputstream_outputstream;
import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
/***
* 多线程读取管道流操作
* @author Administrator
*
*/
public class PipedStreamDemo {
public static void main(String[] args)throws Exception {
PipedInputStream pis=new PipedInputStream();
PipedOutputStream pos=new PipedOutputStream();
pis.connect(pos);//连接管道流
Read read=new Read(pis);
Writer writer=new Writer(pos);
//启动线程
new Thread(writer).start();
new Thread(read).start();
}
}
//写入
class Writer implements Runnable {
private PipedOutputStream pos;
public Writer(PipedOutputStream pos){
this.pos=pos;
}
public void run() {
String data = "你好啊!welcome to china!!!";
try {
System.out.println("写入数据之前必须等待5秒钟......");
Thread.sleep(5000);
pos.write(data.getBytes());
System.out.println("写入数据结束!!!!!!");
pos.close();
} catch (Exception e) {
throw new RuntimeException("WriteThread写入失败...");
}
}
}
//读取
class Read implements Runnable {
private PipedInputStream pis;
public Read(PipedInputStream pis){
this.pis=pis;
}
public void run() {
byte[] data=new byte[1024];
try {
System.out.println("读取数据开始......");
System.out.println(new String(data,0,pis.read(data)));//暂停,阻塞
System.out.println("读取数据结束......");
pis.close();
} catch (IOException e) {
throw new RuntimeException("管道读取流失败!");
}
}
}
分享到:
相关推荐
ObjectInputStream 和 ObjectOutputStream 的作用是,对基本数据和对象进行序列化操作支持。本文给大家详细介绍了ObjectInputStream 和 ObjectOutputStream的相关知识,感兴趣的朋友一起学习吧
JavaIO对象流 FileInputStream 与 ObjectInputStream 和 ObjectOutputStream 的组合 奥利弗·缪尔
主要介绍了java序列化与ObjectOutputStream和ObjectInputStream的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
java.io包中,提供了ObjectInputStream和ObjectOutputStream将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一个对象,ObjectOutputStream中用writeObject()方法可以直接将对象...
程序使用了ObjectInPutStream和ObjectOutPutStream这两个文件输入输出流,利用这两个文件输入输出流,可以方便的直接将通讯记录对象直接写入文件中,另外为了方便添加和删除一条记录还使用了系统的对象数组类...
ObjectInputStream的用法---马克-to-win java视频的介绍对象输入字节流
java IO 字节流练习代码 FileInputStream和FileOutputStream BufferedInputStream 和 BufferedOutputStream DataInputStream 和 ...ObjectInputStream和ObjectOutputStream PrintStream PushbackInputStream
ObjectInputStream 和所有FilterInputStream 的子类都是装饰流(装饰器模式的主角)。 2.输出字节流OutputStream IO 中输出字节流的继承图可见上图,可以看出: OutputStream 是所有的输出字节流的父类,它是一个...
ObjectInputStream序列化实例,简单就学会,JAVA原来so easy
ObjectInputStream和ObjectOutputStream 158 PrintStream 158 Reader 158 Writer 159 FileReader和FileWriter 159 BufferReader和BufferWriter 159 InputStreamReader和OutputStreamWriter 161 JAVA对象的序列化和反...
在Java中提供有ObjectInputStream与ObjectOutputStream这两个类用于序列化对象的操作。这两个类是用于存储和独缺对象的输入输出流类,只要把对象中的所有成员变量都存储起来,等于保存了这个对象,之后从保存的...
其中包括以下接口和类: java.io.Serializable java.io.Externalizable ObjectOutput ObjectInput ObjectOutputStream ObjectInputStream Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前为第7页。...
这个代码实现了一个简单的通讯录管理系统,主要使用了Java的文件操作。 首先定义了一个Contact类,用于存储联系人的姓名和电话号码。 然后定义了一个AddressBook类,用于管理通讯录。在构造函数中,传入一个文件名...
|--ObjectOutputStream/:将java对象的基本数据类型和图形写入到OutputStream。 | |--PipedOutputStream/:可以将管道输出流连接到管道输入流来创建通信管道。 | 用方法connect(PipedInputStream snk) 将此管道...
4.java.io包中的objectinputstream和objectoutputstream类主要用于对对象(Object)的读写。 5.android 中service的实现方法是:startservice和bindservice。 6.activity一般会重载7个方法用来维护其生命周期,除了...
服务器采用多线程以满足多用户的请求,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为9527,然后无限循环调用accept()方法接受客户程序的连接。 服务器线程源码: package qq.server; import...
import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java....
import java.io.ObjectOutputStream; import java.io.ObjectInputStream; import java.io.IOException; import java.io.EOFException; import java.net.ServerSocket; import java.net.Socket; import java.awt....
在该方法中,首先通过FileInputStream和ObjectInputStream读取源文件对象,然后通过ObjectOutputStream将读取的对象写入备份文件中。这个简单的示例代码展示了如何使用Java序列化来实现一个文件备份工具的简单功能,...
理解和应用Java异常,常用类,IO,集合和多线程等开发技术。 课时安排 总学时:52学时 授课:48学时 (含约20学时实验) 考试:4学时 预备知识 了解和使用操作系统,...