美文网首页
使用过滤流

使用过滤流

作者: Garbo_W | 来源:发表于2019-02-11 20:56 被阅读0次

缓冲流分为两类:

(1)BufferedInputStream 和BufferedOutputStream:针对字节的缓冲输入和输出流
(2)BufferedReader 和BufferedWriter :针对字符的缓冲输入和输出流
例:BufferedReader 和BufferedWriter 类

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class text2_Buffere {
public static void main(String[] args) {
          // TODO 自动生成的方法存根
        long timeStart=System.currentTimeMillis(); 
        try {
            /*
             * 先产生FileReader类的实例化对象,然后再产生FileWriter对象
             * */
            //FileReader finput=new FileReader("data\\12游戏软件");
            //FileWriter foutput=new FileWriter("data\\12游戏软件副本");
            BufferedReader finput=new BufferedReader(new FileReader("data\\12游戏软件"));
            BufferedWriter foutput=new BufferedWriter(new FileWriter("data\\12游戏软件副本"));
            /*
            int i=0;
            while((i=finput.read())!=-1) {
                System.out.print((char)i);//输入在控制台上而已
                foutput.write(i);//  在循环中读取“12游戏软件”文件的内容【在这里用 read() 读取】,
            }                   //再调用FileWriter对象的writer()方法把内容写入“12游戏软件副本”中。       
            */
            String s="";
            while((s=finput.readLine())!=null) {//一行一行的读取内容,直到文件尾(到读取时读到的行中为null时停止)
                    System.out.println(s);  //输出在控制台上
                    foutput.write(s);   //写入文件中(写入文件时不会自动换行会把读取的行中的内容一行连着一行输出,所以需要下一步骤换行)
                    foutput.newLine();  //换行
            }
            /*
             * 操作完成后 关闭输入流,调用输出流的 Flush()方法 清空缓冲区 ,并且关闭输出流。
             * */
            finput.close();//关闭输入流区
            foutput.flush();//清空缓冲区
            foutput.close();//关闭输出流
        //需要异常的处理   
        }catch (FileNotFoundException e) {
            // TODO: handle exception
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }finally {
            long timeEnd=System.currentTimeMillis();
            System.out.println("\n使用文件花费的时间:"+(timeEnd-timeStart)+"毫秒");
        }
    }
}

相关文章

网友评论

      本文标题:使用过滤流

      本文链接:https://www.haomeiwen.com/subject/shrceqtx.html