欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA IO处理流

程序员文章站 2024-01-21 18:44:52
...

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()该方法一次可从输入流中读取一行,并返回改行内容。