java 1-07 file/io 缓冲流读写数据

1.字节缓冲流

1.1字节缓冲流构造方法【应用】

  • 字节缓冲流介绍

    • lBufferOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用

    • lBufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节

  • 构造方法:

    方法名 说明
    BufferedOutputStream(OutputStream out) 创建字节缓冲输出流对象
    BufferedInputStream(InputStream in) 创建字节缓冲输入流对象
package FileDemo.Buffer;

import java.io.*;

public class Demo1 {
    public static void main(String[] args) throws IOException {

        // 写数据
        // BufferedOutputStream fos = new BufferedOutputStream(new FileOutputStream("stu\\src\\FileDemo\\Buffer\\1.txt"));
        //
        // fos.write("hello \r\n".getBytes());
        // fos.write("我爱哈哈 \r\n".getBytes());
        //
        // fos.close();

        // 读数据
        BufferedInputStream fis = new BufferedInputStream(new FileInputStream("stu\\src\\FileDemo\\Buffer\\1.txt"));

        // int by;
        // while ((by = fis.read()) != -1){
        //     System.out.print((char) by);
        // }

        byte[] bys = new byte[1024];
        int len;
        while ((len = fis.read(bys)) != -1){
            System.out.print(new String(bys,0,len));
        }

        fis.close();
    }
}
package com.itheima_03;

import java.io.*;

/*
    字节缓冲流:
        BufferOutputStream
        BufferedInputStream

    构造方法:
        字节缓冲输出流:BufferedOutputStream​(OutputStream out)
        字节缓冲输入流:BufferedInputStream​(InputStream in)
 */
public class BufferStreamDemo {
    public static void main(String[] args) throws IOException {
        //字节缓冲输出流:BufferedOutputStream​(OutputStream out)
//        FileOutputStream fos = new FileOutputStream("myByteStream\\bos.txt");
//        BufferedOutputStream bos = new BufferedOutputStream(fos);
        /*
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("myByteStream\\bos.txt"));
        //写数据
        bos.write("hello\r\n".getBytes());
        bos.write("world\r\n".getBytes());
        //释放资源
        bos.close();
        */

        //字节缓冲输入流:BufferedInputStream​(InputStream in)
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("myByteStream\\bos.txt"));

        //一次读取一个字节数据
//        int by;
//        while ((by=bis.read())!=-1) {
//            System.out.print((char)by);
//        }

        //一次读取一个字节数组数据
        byte[] bys = new byte[1024];
        int len;
        while ((len=bis.read(bys))!=-1) {
            System.out.print(new String(bys,0,len));
        }

        //释放资源
        bis.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34608447/article/details/114680870