java第十三课(BufferedOutputStream,BufferedInputStream,BufferedReader,BufferedWriter)

1.缓冲流概述

Java中的缓冲流是为了提高IO操作的性能而设计的。在处理输入和输出时,缓冲流利用内部缓冲区来减少实际的IO操作次数,从而提高读写数据的效率。

其中BufferedInputStream是字节缓冲输入流

BufferedOutputStream是字节缓冲输出流

BufferedReader是字符缓冲输入流

Bufferedwriter是字符缓冲输出流

2.字节缓冲流

2.1BufferedInputStream

把基本流包装成高级流,提高读取数据的性能。

public static void main(String[] args) {
        BufferedInputStream f=null;

        try {
             f =new BufferedInputStream(new FileInputStream("D:/1.txt"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            System.out.println("发生异常原因"+e.getMessage());
        }
        byte[] b =new byte[100];
        try {
            int num=f.read(b);
            while (num!=-1){
                System.out.println(new String(b,0,num));
                num=f.read(b);
            }
        } catch (IOException e) {
            e.getMessage();
            e.printStackTrace();
        } 
           f.close();

    }

此段代码读取D盘文件名为1的文本文档,并且输出1的文本内容。 

2.2BufferedOutputStream

 BufferedOutputStream outputStream =new BufferedOutputStream(new FileOutputStream("D:/1.txt"));
        byte[] b =new byte[100];
        String s ="你好世界";


        try {
            outputStream.write(s.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
            e.getMessage();
        }
        try {
            outputStream.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

3.字符缓冲流 

3.1BufferedReader

BufferedReader继承自Reader类,提供了一些额外的方法来支持缓冲读取。通过BufferedReader,可以逐行读取文本数据并进行处理,也可以使用read()方法逐个字符地读取数据。

//一次读取一个字节
Reader r =new BufferedReader(new FileReader("D:/1.txt"));
        try {
            int num=r.read();
            while (num!=-1){
                System.out.println((char) num);
                num=r.read();
            }
        } catch (IOException e) {

        }

 

//一次读取一行
BufferedReader r =new BufferedReader(new FileReader("D:/1.txt"));
        try {
            System.out.println(r.readLine());
        } catch (IOException e) {

        }

3.2 BufferedWriter

BufferedWriter是Java中用于写入字符流的类,它继承自Writer类,并实现了缓冲写入。通过BufferedWriter类,可以提高写入大量数据时的性能,因为它会在内存中缓存数据并一次性写入目标。使用BufferedWriter类时,通常会先创建一个FileWriter对象来指定要写入的文件,然后将FileWriter对象传递给BufferedWriter的构造方法中。

public static void main(String[] args) throws IOException {
       BufferedWriter w =new BufferedWriter(new FileWriter("D:/1.txt"));
        String s ="你好世界,你好java";
        w.write(s);
        w.newLine();//换行
        s="一给我里giaogiao";
        w.write(s);
        w.close();
    }

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值