文件流

Mr.Jia 2024-1-7 206 1/7

文件流

读用input写用output

字节流(Byte Streams

输入流(input)

 

输出流(output)

  1. FileOutputStream: 用于向文件中写入字节流数据。
  2. ByteArrayOutputStream: 将数据写入到字节数组中。
  3. ObjectOutputStream: 用于将Java对象写入流中,进行序列化操作。
  4. PipedOutputStream: 用于线程间的管道通信,配合PipedInputStream使用。
  5. BufferedOutputStream: 提供了缓冲功能,可以提高写入效率。
  6. DataOutputStream: 以机器可读的方式向流中写入基本数据类型的数据。

FilterOutputStream是除FileOutputStream外的其他类的超类

FileOutputStream和FilterOutputStream都继承自outputStream

FileOutputStream和BufferedOutputStream的区别

  1. 功能:
    • FileInputStream用于从文件中读取字节流数据。
    • BufferedInputStream是一个缓冲流,它可以提供更高的读取性能,通过在内存中创建一个缓冲区,减少了直接访问文件的次数,从而提高了读取效率。
  2. 性能:
    • FileInputStream每次读取都直接访问文件,并将数据直接返回,没有缓冲机制,因此可能会导致频繁的磁盘访问,效率相对较低。
    • BufferedInputStream使用了一个内部缓冲区,默认大小为8192字节,它在读取时会一次性从文件中读取一定量的数据到缓冲区,然后逐步从缓冲区中返回数据。这种缓冲的方式减少了对文件的直接访问次数,提高了性能。
  3. 使用方式:
    • 使用FileInputStream时,每次读取需要直接操作流对象。
    • BufferedInputStream可以包装在其他输入流上,例如可以将FileInputStream作为参数传递给BufferedInputStream,这样就可以利用缓冲功能提高性能。

总体来说,使用BufferedOutputStream时有内存开销,而使用FileInputStream没有内存开销但是会更耗时,如果需要对性能有较高要求,可以考虑使用BufferedInputStream,它可以在读取文件时提供更好的性能。但对于小型文件或对性能要求不是非常高的场景,直接使用FileInputStream也是可以的。

 

字符流(Character Streams

- THE END -

Mr.Jia

2月18日13:31

最后修改:2024年2月18日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论