zoukankan      html  css  js  c++  java
  • 021.14 IO流 管道流

    用的频率不高
    特点:读取管道和写入管道对接,需要是用多线程技术,单线程容易死锁

    使用connect方法连接两个流,实现边读编写,和node.js的管道流差不多

    //##主函数位置
    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();
    }
    
    
    //定义输入任务
    class Input implements Runnable{
        private PipedInputStream pis;
        
        public Input(PipedInputStream pis) {
            super();
            this.pis = pis;
        }
    
        @Override
        public void run()
        {
            byte[] buf = new byte[1024];
            int len = 0;
            try {
                len = pis.read(buf);
                String messege = new String(buf,0,len);
                System.out.println(messege);
                pis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    //定义输出任务
    class Output implements Runnable{
        private PipedOutputStream pos;
        
        public Output(PipedOutputStream pos) {
            super();
            this.pos = pos;
        }
    
        @Override
        public void run()
        {
            try {
                pos.write("hei,我很想你".getBytes());
                pos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    什么是MIME
    bit/byte/英文字符/汉字之间的换算及java八大基本数据类型的占字节数
    js 上传文件大小检查
    java.toString() ,(String),String.valueOf的区别
    java 下载文件的样例
    回调函数分析
    IO流详析
    各个秒之间的换算率
    内边距:
    Less-6【报错+BOOL类型】
  • 原文地址:https://www.cnblogs.com/-nbloser/p/9626481.html
Copyright © 2011-2022 走看看