有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

文件流字节[]与字符[]的io Java性能

我正在编写一个程序,读取一个文件(使用自定义缓冲区,8KB),然后在该缓冲区中找到一个关键字。因为Java提供了两种类型的流:字符流和;字节,我使用byte[]char[]作为缓冲实现了这一点

我只是想知道,哪一个对性能来说更快更好,因为char是2byte,当使用Reader读取char[]时,Reader将执行从bytechar的转换,我认为这可能会比只使用byte[]更慢


共 (2) 个答案

  1. # 1 楼答案

    如果读取的是二进制文件,请使用字节数组

    如果它是一个文本文件,并且以后要使用字符串之类的内容,那么应该使用char数组

  2. # 2 楼答案

    这个堆栈溢出问题file-streaming-in-java讨论了java中高效的流文件

    我特别喜欢this reference article

    在大文件上,只使用字节就可以很快获得速度优势,因此,如果可以通过字节解码模式,那么肯定可以获得一些宝贵的周期

    如果你的文件很小,或者你没有那么多,也许不值得麻烦