我试图了解与java nio files类的这两种方法相关的最佳实践:readalllines与readallbytes什么时候用哪个?谷歌的大多数搜索结果都会返回一种使用它们的方法,但不会涉及何时使用一种方法而不是另一种方法。有人能帮我理解吗?
3yhwsihp1#
从 readAllLines 文件(我自己):读取文件中的所有行。使用utf-8字符集将文件中的字节解码为字符。所以我马上告诉你 readAllLines 将通过utf-8字符集自动解码字符串。这意味着,至少在不处理utf-8字符集时,不应该使用它,而是应该将文件存储在utf-16或utf-32(或其他一些非utf-8字符集)中。此外,您并不总是处理字符串,有时您处理的是:二进制数据,可以读取并反序列化为其他对象。图像数据。所以在我看来, readAllLines 基本上是一个 readAllBytes 再加上一些额外的处理(将字节转换成字符串列表)。
readAllLines
readAllBytes
1条答案
按热度按时间3yhwsihp1#
从
readAllLines
文件(我自己):读取文件中的所有行。使用utf-8字符集将文件中的字节解码为字符。
所以我马上告诉你
readAllLines
将通过utf-8字符集自动解码字符串。这意味着,至少在不处理utf-8字符集时,不应该使用它,而是应该将文件存储在utf-16或utf-32(或其他一些非utf-8字符集)中。此外,您并不总是处理字符串,有时您处理的是:
二进制数据,可以读取并反序列化为其他对象。
图像数据。
所以在我看来,
readAllLines
基本上是一个readAllBytes
再加上一些额外的处理(将字节转换成字符串列表)。