`
smallvq123
  • 浏览: 35742 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

io流总结

阅读更多
转自:http://www.iteye.com/topic/794037
新建一个文件
Java代码
File f=new File("1.txt");  
f.createNewFile();//创建文件  
f.mkdir();//创建目录  
f.deleteOnExit();//程序结束时自动删除创建的文件  
File.separator 是跨系统文件分隔符  



//list方法,列出文件夹下所有的文件和目录名称,如果过滤,传入FilenameFilter,下面是只返回扩展名是java的文件名
Java代码
String[] names=f.list(new FilenameFilter()  
        {  
            public boolean accept(File dir,String name)  
            {  
                return name.indexOf(".java")!=-1;  
            }  
        });  



输入输出流:
节点流
过滤流
InputStream                OutputStream
FileInputStream            FileOutputStream

BufferedInputStream 带缓冲过滤流
BufferedOutputStream 带缓冲输出过滤流
DataInputStream  提供读写java中基本数据类型的过滤流

PipedInputStream和PipedOutputStream
管道流,用于线程间的通信。
一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。
要使管道流有用,必须同时构造管道输入流和管道输出流。

Java代码
import java.io.*;  
class PipedStreamTest  
{  
    public static void main(String[] args)  
    {  
        PipedOutputStream pos=new PipedOutputStream();  
        PipedInputStream pis=new PipedInputStream();  
        try  
        {  
            pos.connect(pis);  
            new Producer(pos).start();  
            new Consumer(pis).start();  
        }  
        catch(Exception e)  
        {  
            e.printStackTrace();  
        }  
          
    }  
}  
  
class Producer extends Thread  
{  
    private PipedOutputStream pos;  
    public Producer(PipedOutputStream pos)  
    {  
        this.pos=pos;  
    }  
    public void run()  
    {  
        try  
        {  
            pos.write("Hello,welcome you!".getBytes());  
            pos.close();  
        }  
        catch(Exception e)  
        {  
            e.printStackTrace();  
        }  
    }  
}  
  
class Consumer extends Thread  
{  
    private PipedInputStream pis;  
    public Consumer(PipedInputStream pis)  
    {  
        this.pis=pis;  
    }  
    public void run()  
    {  
        try  
        {  
            byte[] buf=new byte[100];  
            int len=pis.read(buf);  
            System.out.println(new String(buf,0,len));  
            pis.close();  
        }  
        catch(Exception e)  
        {  
            e.printStackTrace();  
        }  
    }  
}  



Reader和Writer这两个抽象类主要用来读写字符流

InputStreamReader OutputStreamWriter 字节流和字符流的桥梁 

FileInputStream fis=new FileInputStream("1.txt"); 
InputStreamReader isr=new InputStreamReader(fis); 
BufferedReader br=new BufferedReader(isr); 
System.out.println(br.readLine()); 
br.close(); 

InputStreamReader isr=new InputStreamReader(System.in); 
BufferedReader br=new BufferedReader(isr); 
String strLine; 
while((strLine=br.readLine())!=null) 
{ 
System.out.println(strLine); 
} 
br.close(); 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics