繁体   English   中英

是否可以为UTF-8文件创建InputStream?

[英]Is it possible to create InputStream for a UTF-8 file?

我们正在对生产代码进行一些代码更改。

在本文中,我们之前使用InputStream(基本上是FileInputStream)从文件路径读取文件,并且此InputStream传递给了前面的许多方法。

现在我们意识到,文件也可以包含汉字,因此我们想使用UTF-8编码。

我有一个字符串文件路径。 并且知道,文件有时可以包含汉字,有时不能包含汉字。

我不愿意在许多方法中进行更改,并且在创建InputStream(FileInputStream)时试图以某种方式使用UTF-8编码。

我在互联网上进行搜索,但我所能获得的只是在bufferreader / inputstream reader中输出的(例如, 以UTF-8http://www.mkyong.com/java/how-to-read-utf-8-encoded-来自文件Java /的数据

那么是否可以从文件路径读取文件并处理汉字并将其转换为InputStram?

InputStream不处理文本,因此它不关心编码,因此,对您的问题的直接回答是:不,您不能使用UTF-8编码创建InputStream

但是,您可以通过使用InputStream来处理UTF-8文件,方法是简单地携带这些字节,而不用任何方式对其进行操作。

如果要从文件读取文本 ,则需要构造一个Reader然后需要在构造函数中指定编码(为您指定UTF-8)。

如果您向我们展示了InputStream中的数据变成Stringchar[]对象的地步,那么我可以向您展示您需要更改代码的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM