如何使用NIO或apache commons IO在Java中逐行读取字节?以效率较高者为准

如何使用NIO或apache commons IO在Java中逐行读取字节?以效率较高者为准,java,nio,apache-commons-io,Java,Nio,Apache Commons Io,我把一堆字节逐行写入一个文件中,这样每一行可以有不同数量的字节,现在我需要逐行读取它们,我想知道如何使用NIO或apache commons IO以有效的方式进行读取?我试图看看是否有一种API可以处理缓冲区的分配和释放的方法,因为我不知道每行中的字节长度。我当然可以将其作为字符串读取并执行.getBytes().length(),但这听起来有点尴尬。如果文件确实由行组成,那么使用BufferedReader.readLine(),您可以每秒读取数百万行。您不需要任何其他内容。在任何情况下,NI

我把一堆字节逐行写入一个文件中,这样每一行可以有不同数量的字节,现在我需要逐行读取它们,我想知道如何使用NIO或apache commons IO以有效的方式进行读取?我试图看看是否有一种API可以处理缓冲区的分配和释放的方法,因为我不知道每行中的字节长度。我当然可以将其作为字符串读取并执行.getBytes().length(),但这听起来有点尴尬。

如果文件确实由行组成,那么使用
BufferedReader.readLine(),您可以每秒读取数百万行。
您不需要任何其他内容。在任何情况下,NIO都不支持以任何形式读取行

“我当然可以把它读成字符串,然后执行.getBytes().length(),但这听起来有点尴尬”。。。好吧,这就是你的解决方案,不是吗?我总是认为有人比我更有知识,也许能想出创造性的方法。关于这个问题,您对apache commons.io接口有何看法?BufferedReader.readLine()仍将返回字符串。我想看看是否有办法逐行读取字节!要什么回来?字节数组?在JDK中没有类似的功能,但是您可以自己将任何
字符串
转换为字节数组。