JavaIO流学习总结-PipedReader和PipedWriter基本操作练习

package io;

import java.io.*;

/*
 * 修改日期:2020/04/05
 * 修改人:牟松
 * 管道流(字节流)PipedReader和PipedWriter基本操作练习
 * 参考链接:https://blog.csdn.net/sk199048/article/details/51260757
 */

class Producer extends Thread {

private PipedWriter writer = new PipedWriter();
   
    public Producer(PipedWriter writer) {
        this.writer = writer;
    }

@Override
    public void run() {
        try {
            StringBuilder sb = new StringBuilder();
            sb.append("Hello World!");
            writer.write(sb.toString());
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class Consumer extends Thread{

private PipedReader reader = new PipedReader();

public Consumer(PipedReader reader) {
        this.reader = reader;
    }

@Override
    public void run() {
        try {
            char [] cbuf = new char[20];
            reader.read(cbuf, 0, cbuf.length);       
            System.out.println("管道流中的数据为: " + new String(cbuf));
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

public class ceshi {
   public static void main(String[] args)
     { 
     /**
      * 线程间通过管道流通信的步骤为
      * 1 建立输入输出流
      * 2 绑定输入输出流
      * 3 Writer写
      * 4 Reader读
      */

PipedReader reader = new PipedReader();
     PipedWriter writer = new PipedWriter();
     Producer producer = new Producer(writer);
     Consumer consumer = new Consumer(reader);

try {
         writer.connect(reader);
         producer.start();
         consumer.start();
     } catch (Exception e) {
         e.printStackTrace();
     }
     }
}

原文地址:https://www.cnblogs.com/musong1998/p/12637881.html

时间: 2024-11-09 06:10:09

JavaIO流学习总结-PipedReader和PipedWriter基本操作练习的相关文章

JavaIO流学习总结-InputStreamReader和OutputStreamWriter基本操作练习

package io; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter; /* * 修改日期:2020/04/05 * 修改人:牟松 * 字符流InputStr

JavaIO流学习总结-FileReader和FileWriter基本操作练习

package io; import java.io.FileReader;import java.io.FileWriter;import java.io.IOException; /* * 修改日期:2020/04/05 * 修改人:牟松 * 字符流FileReader和FileWriter基本操作练习 */public class ceshi { public static void main(String[] args) {   try {   //实例化字符输入流对象,如何只是读取文件

JavaIO流学习总结-字符流总结

字符流各类的类图: 图片参考链接:https://zhuanlan.zhihu.com/p/25418336 蓝色部位为主要内容,红色部分次要或者不常见的内容 转换流InputStreamReader和OutputStreamWriter 字符串流StringReader和StringWriter 缓冲流BufferedWriter和BufferedReader 管道流(字符流)PipedReader和PipedWriter 字符流CharArrayReader和CharArrayWriter

JavaIO流学习总结-PrintStream基本操作练习

package io;import java.io.PrintStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException; /** * 修改日期:2020/03/31 * 修改人:牟松 * PrintStream基本操作练习 * 参考链接:https://www.cnblogs.com/skywang12345/p/io_16.html**/public class PrintStre

黑马程序员——JAVAIO流学习总结

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- www.itheima.com JAVA IO流类图结构: 显而易见了,IO流就是这个.下面我们来做些解释性的分析: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输

Java-IO流篇《六》

1. java.io.File类 File类代表系统文件(文件和目录),磁盘上的文件和目录在Java程序中是用File类的实例来表示. 常用的构造方法:File (String pathname);File(File parent, String child) ;File(String parent,String child) 以pathname为路径创建File对象,如果pathname是相对路径,则是相对于Java的 系统属性user.dir中的路径(即当前字节码运行的目录). File类的

Java-IO流篇

1. java.io.File类 File类代表系统文件(文件和目录),磁盘上的文件和目录在Java程序中是用File类的实例来表示. 常用的构造方法:File (String pathname);File(File parent, String child) ;File(String parent,String child) 以pathname为路径创建File对象,如果pathname是相对路径,则是相对于Java的 系统属性user.dir中的路径(即当前字节码运行的目录). File类的

javaIo流

转载自:http://ggicci.blog.163.com/blog/static/2103640962012813997493/ Java : 关于 Java 流的笔记 State : Java 流分为 字符流 和 字节流 两种.分别四个抽象类 Reader/Writer.InputStream/OutputStream 表示. Hierachy : Note :    抽象类       无公共构造器      已弃用   父类/超类 -----> 子类 How to use ? Read

javaIO流实现读写txt文件

javaIO流实现文件读写 文件写入: InputStreamReader BufferedReader文件读取:FileOutputStream package javatest.basic22; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStr