Java 按行读取UTF-8文件,开头第一行总会有一个不可见字符

Java 按行读取UTF-8文件,开头第一行总会有一个不可见字符,第1张

这个是叫做BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。

没有BOM 则表示是默认的ASCII

BOM主要用途是给类似txt sublimetext notepad 之类的ide看的 让它们能够知道用哪种编码显示里面的内容

1,你可以在事先把文件编码转换一致。

过程跟2是一样的。

2,你可以动态转换

1),动态指定编码读取,什么格式的文本用什么格式的读取成string中。

这是必须的,如果这个时候读取就乱码了,那后面不管怎么样都是乱码。

InputStreamReader(InputStream in, Charset cs) 用这个来读文件,cs是文字编码。

2),然后使用默认编码输出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11740021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存