首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Files.readAllBytes()不接受编码参数?

为什么Files.readAllBytes()不接受编码参数?
EN

Stack Overflow用户
提问于 2020-05-28 08:57:01
回答 1查看 1.9K关注 0票数 3

我不确定我是否正确地理解了这一点,但我在想,当我需要将文件内容作为字节数组存储在Java中时,我需要为Java提供文件的编码。

例如,如果我想做好准备,我需要做如下的事情:

代码语言:javascript
运行
复制
Reader reader = Files.newBufferedReader(myFilePath, StandardCharsets.ISO_8859_1)

为什么我不能在使用Files.readAllBytes(myFilePath)时指定文件的编码?我想做一些像Files.readAllBytes(myFilePath, StandardCharsets.ISO_8859_1)这样的事情。

我搞错了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 09:03:26

不,如果希望将字节表示为Charset (即文本),则只需要一个String,因为字节的含义取决于编码。

代码语言:javascript
运行
复制
byte[] bytes = Files.readAllBytes(Paths.get("/temp.txt"));
String text = new String(bytes, StandardCharsets.ISO_8859_1);

单个字节数组可以根据编码表示多个不同的字符串,并且数组中的字节独立于编码,因此将编码作为参数传递给该函数是没有意义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62060753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档