gpt4 book ai didi

java - 在Java中读取Unicode字符

转载 作者:行者123 更新时间:2023-12-01 14:59:34 25 4
gpt4 key购买 nike

我正在使用“FileInputStream”和“FileReader”从包含 unicode 字符的文件中读取数据。

当我将默认编码设置为“cp-1252”时,两者都会读取垃圾数据,当我将默认编码设置为 UTF-8 时,两者都会读取正常。

  1. 这两者都使用系统默认编码来读取数据吗?
  2. 如果字符流依赖于系统编码,那么使用字符流有什么好处?
  3. 除了以下之外还有什么办法吗

     BufferedReader fis = new BufferedReader(new InputStreamReader(new FileInputStream("some unicode file"),"UTF-8"));

    当默认编码不是UTF-8时正确读取数据。

最佳答案

恕我直言,FileReader 和 FileWriter 应该被弃用。使用

new InputStreamReader(new FileInputStream(file), "UTF-8")

大约。

这里还存在一个不带编码参数的重载版本,使用默认平台编码:System.getProperty("file.encoding")

关于java - 在Java中读取Unicode字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com