当前位置: 代码迷 >> 综合 >> java 1-07 file/io 缓冲流读写数据
  详细解决方案

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

热度:31   发布时间:2023-10-10 21:57:01.0

 

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.*;/*字节缓冲流:BufferOutputStreamBufferedInputStream构造方法:字节缓冲输出流: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();}
}