java基础-流

大致列一下这个周末需要学习的内容

1 容器 

2 线程

3 流 (本节内容)

 

一、 流

按方向-------------输入流输出流

按处理数据单位-----字节流字符流

按功能------------节点流和处理流

  字节流 字符流
输入流 BufferedInputStreamInputStream BufferedReaderReader
输出流 BufferedOutputStreamOutputStream BufferedWriterWriter

 

例1 在节点流外面包裹一次处理流,实现复制文件(字节流)

package test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class test {
    public static void main(String[] args) throws IOException {
        BufferedInputStream bis = new BufferedInputStream (new FileInputStream("C:\\Users\\Administrator\\Desktop\\s3.txt"));
        BufferedOutputStream bos =new BufferedOutputStream (new FileOutputStream("C:\\Users\\Administrator\\Desktop\\s4.txt"));
        byte[] buf = new byte[1024];//定义数组容器暂时性的存放读取的数据
        while (true){
            if(-1==bis.read(buf))//读取数据放入buf容器中,并判断是否已经读完
                break;
            bos.write(buf);  //把读入buf的数据写入bos管道对应的文件中
        }        
        bos.flush();
        bos.close();
        bis.close();
    }
}

例2 在节点流外面包裹一次处理流,实现复制文件(字符流)

字符流提供readLine()方法

package test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class test {
    public static void main(String[] args) throws IOException {
        BufferedReader bis = new BufferedReader (new FileReader("C:\\Users\\Administrator\\Desktop\\s2.txt"));
        BufferedWriter bos =new BufferedWriter (new FileWriter("C:\\Users\\Administrator\\Desktop\\s4.txt"));
        char[] buf = new char[1024];//定义数组容器暂时性的存放读取的数据
        while (true){
            if(-1==bis.read(buf))//读取数据放入buf容器中,并判断是否已经读完
                break;
            bos.write(buf);  //把读入buf的数据写入bos管道对应的文件中
        }        
        bos.flush();
        bos.close();
        bis.close();
    }
}

 

 

 

posted on 2014-01-19 21:38  sunfan  阅读(160)  评论(0编辑  收藏  举报