您的位置:首页 > 职场人生

黑马程序员-管道流学习日记

2014-04-19 13:20 155 查看
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

/*---------------------------------------------------------------PipedstreamDemo---------------------------------------------------------------------------*/

 package heimaLog;

import java.io.*;

/*IO包中的其他类

 *  RandomAccessFile 随机访问文件,自身具备读写的方法。

 *                       通过skipBytes(int x)来达到随机访问。            

 * 

 *  管道流 :PipedInputStream和PipeOutputStream  输入输出可以直接进行连接,通过结合线程使用。

 *         两个线程其中一个线程从PipedInputStream对象读取,另一个线程从PipedOutputStream

 *         写入。(不建议尝试使用单个线程,容易造成死锁线程)      

 * 

 * */

class Read implements Runnable

{

private PipedInputStream in;

Read(PipedInputStream in)

{

 

 this.in = in;

}

 public void run() {

  try

  {

   byte[] buf = new byte[1024];

   

      int len = in.read(buf);

      

      String s = new String(buf,0,len);

      

      System.out.println(s);

      

      in.close();

  

  }catch(IOException e)

  {

   

   throw new RuntimeException("读取管道流失败");

  }

  

 }

 

}

class Write implements Runnable

{

     private PipedOutputStream out;

     Write(PipedOutputStream out)

     {

      this.out = out;

      

     }

 

 public void run() 

 {

 try

 {

  out.write("Piped lai le ".getBytes());

  out.close();

 }catch(IOException e)

 {

  throw new RuntimeException("管道输出流失败");

 }

  

 }

 

}

public class PipedstreamDemo {

 publ
4000
ic static void main(String[] args)throws IOException {

  // TODO Auto-generated method stub

  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();

  

  

 }

}

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: