java study IO//FILE pipe

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.io.Reader;
import java.rmi.server.ExportException;


public class testIOfile {

  public static void main(String [] args) throws Exception
  {
   /*File fdir = new File(File.separator);
   
   String str = "."+File.separator+"testio.txt";
   
   File f1 = new File(fdir, str);
   f1.createNewFile();
   //f1.delete();
   Thread.sleep(3000);
   f1.deleteOnExit();
   */
   /*
   for(int i =0; i< 5;i++)
   {
    File.createTempFile("wjc",".txt");
   }*/ 
   /*
   File fdir = new File(File.separator);
   
   String str = ".";
   File f = new File(fdir,str);
   //文件过滤器
   String [] filename = f.list(new FilenameFilter() {
    
    @Override
    public boolean accept(File dir, String name) {
     // TODO Auto-generated method stub
     return name.indexOf("js") !=-1;
    }
   });
   
   for(int i= 0; i< filename.length;i++)
   {
    System.out.println(filename[i]);
   }
    */
   
   //read and write
   /*int data;
   while((data=System.in.read())!=-1)
   {
    System.out.write(data);
   }
   */
   //**read&write
   /*
   FileOutputStream ou= new FileOutputStream("a.txt");
   ou.write("this is test".getBytes());
   System.out.println("this is test".getBytes());
   ou.close();
   
   FileInputStream in = new FileInputStream("a.txt");
   byte[] buf= new byte[100];
   int len = in.read(buf);
   System.out.println(new String(buf, 0 , len));
   in.close();
   */
   /*
   FileOutputStream ou= new FileOutputStream("a.txt");
   BufferedOutputStream bf = new BufferedOutputStream(ou);
   bf.write("this is wangjunchun\n".getBytes());
   bf.write("this is wangjunchun\n".getBytes());
   bf.write("this is wangjunchun\n".getBytes());
   bf.flush();
   bf.close();
   
   FileInputStream in = new FileInputStream("a.txt");
   BufferedInputStream bfi= new BufferedInputStream(in);
   
   byte[] buf= new byte[100];
   int len = bfi.read(buf);
   System.out.println(new String(buf, 0 , len));
   bfi.close();
   */
   
   /*利用管道读写*/
   PipedOutputStream pos = new PipedOutputStream();
   PipedInputStream pis = new PipedInputStream();
   
   try
   {
    pis.connect(pos);
    new Producer(pos).start();
    new Custmor(pis).start();
   }
   catch(Exception e)
   {
    
   }
   
  }
}


class Producer extends Thread
{
 private PipedOutputStream pos;
 Producer(PipedOutputStream pos)
 {
  this.pos = pos;
 }
 
 public void run()
 {
  try
  {
   pos.write("this is write".getBytes());
  }
  catch(Exception e)
  {
   
  }
  
 }
}

class Custmor extends Thread
{
  private PipedInputStream pis;
  
  public Custmor( PipedInputStream pis) {
   this.pis=pis;
  }
  public void run()
  {
   try
   {
    byte [] bs = new byte[100];
    int len = pis.read(bs);
    System.out.println(new String(bs,0, len));
   }
   catch(Exception e)
   {
    
   }
  }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值