javanio文件:readallbytes vs readalllines?什么时候用哪个?

mo49yndu  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(326)

我试图了解与java nio files类的这两种方法相关的最佳实践:
readalllines与readallbytes
什么时候用哪个?谷歌的大多数搜索结果都会返回一种使用它们的方法,但不会涉及何时使用一种方法而不是另一种方法。
有人能帮我理解吗?

3yhwsihp

3yhwsihp1#

readAllLines 文件(我自己):
读取文件中的所有行。使用utf-8字符集将文件中的字节解码为字符。
所以我马上告诉你 readAllLines 将通过utf-8字符集自动解码字符串。这意味着,至少在不处理utf-8字符集时,不应该使用它,而是应该将文件存储在utf-16或utf-32(或其他一些非utf-8字符集)中。
此外,您并不总是处理字符串,有时您处理的是:
二进制数据,可以读取并反序列化为其他对象。
图像数据。
所以在我看来, readAllLines 基本上是一个 readAllBytes 再加上一些额外的处理(将字节转换成字符串列表)。

相关问题