JAVA IO处理流

java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。

package com.io;


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

public class TestBufferedString {

    public static void main(String[] args) throws Exception {
        // 指定要读取文件的缓冲输入字节流
        BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\photo\IMG0460A.jpg"));
        File file = new File("F:\IMG0460A.jpg");
        if (file != null) {
            file.createNewFile();
        }
        // 指定要写入文件的缓冲输出字节流
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
        byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组
        int n;// 每次读取到的字节数组的长度
        while ((n = in.read(bb)) != -1) {
            out.write(bb, 0, n);// 写入到输出流
        }
        out.close();// 关闭流
        in.close();
    }

}


缓冲处理流包括:BufferedInputStream,BufferedOutputStream,BufferedReader,bufferedWriter。

BufferedInputStream比较常用的几个方法是

1available()返回输入流中估计的字节数。

2read()返回一个流中的一个字节。

3readbyte[],int,int从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。

BufferedOutputStream比较常用的几个方法是

1flush()刷新缓冲的输出流。

2writeint)将指定的字节写入输出流。

3writebyte[],int,int从此字节输出流中给定偏移量处开始将各字节写入到指定的 byte 数组中。


BufferedReaderBufferedWriter实现缓冲的原理和BufferedInputStreamBufferedOutputStream相似,区别是BufferedReaderBufferedWriter是针对对字符流的而不是字节流

BufferedReader最为重要的功能是readline()该方法一次可从输入流中读取一行,并返回改行内容。



原文地址:https://www.cnblogs.com/laohuihui/p/5308768.html