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
后要及时关闭流。
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()
方法将其缓冲区中的数据写入文件中,并关闭流。
通过上述示例,我们初步了解了BufferedInputStream
与BufferedOutputStream
类在Java I/O编程中的用法。
本文链接:http://task.lmcjl.com/news/8042.html