关键词

Java中的BufferedInputStream与BufferedOutputStream使用示例

Java中的BufferedInputStream与BufferedOutputStream使用示例攻略

1. BufferedInputStream

BufferedInputStream是Java I/O库中常用的一个类,它是一个缓冲输入流,在内存中维护一个缓冲区,每次从文件中读取数据时,它会先从缓冲区中读取,当缓冲区中数据不足时再读取文件,提高了I/O操作的效率。

BufferedInputStream的常用方法有:

  • read(): 读取一个字节的数据。
  • read(byte[] b): 读取b.length个字节的数据到字节数组b中。
  • read(byte[] b, int off, int len): 读取len个字节的数据到字节数组b中,从偏移量off开始存储。
  • skip(long n): 跳过n个字节的数据。
  • available(): 返回当调用此方法时可以读取(或跳过)的估计字节数。

下面通过一个示例说明如何使用BufferedInputStream

import java.io.*;

public class ReadFileWithBufferedInputStream {
    public static void main(String[] args) {
        try {
            InputStream inputStream = new FileInputStream("test.txt");
            BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);

            int data = bufferedInputStream.read();
            while(data != -1) {
                System.out.print((char)data);
                data = bufferedInputStream.read();
            }
            bufferedInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上面的代码通过BufferedInputStream读取了test.txt文件的内容,并将其输出到控制台中。注意在使用完BufferedInputStream后要及时关闭流。

2. BufferedOutputStream

BufferedOutputStream是Java I/O库中另一个常用的缓冲输出流,它在内存中维护一个缓冲区,每次向文件中写入数据时,会先写入缓冲区,当缓冲区满时再一次性向文件写入,提高了I/O操作的效率。

BufferedOutputStream的常用方法有:

  • write(int b): 写入一个字节的数据。
  • write(byte[] b): 写入b.length个字节的数据。
  • write(byte[] b, int off, int len): 写入len个字节的数据,从偏移量off开始。
  • flush(): 刷新缓冲区,将缓冲区中的数据写入文件中。
  • close(): 关闭流。

下面通过一个示例说明如何使用BufferedOutputStream

import java.io.*;

public class WriteFileWithBufferedOutputStream {
    public static void main(String[] args) {
        try {
            OutputStream outputStream = new FileOutputStream("test.txt");
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);

            String data = "Hello, world!";
            bufferedOutputStream.write(data.getBytes());
            bufferedOutputStream.flush();
            bufferedOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上面的代码向test.txt文件中写入了"Hello, world!"字符串,并将其输出到控制台。注意在使用完BufferedOutputStream后需要手动调用flush()方法将其缓冲区中的数据写入文件中,并关闭流。

通过上述示例,我们初步了解了BufferedInputStreamBufferedOutputStream类在Java I/O编程中的用法。

本文链接:http://task.lmcjl.com/news/8042.html

展开阅读全文