当前位置: 首页 > 面试题库 >

我为什么会得到?? 当我尝试从Java中的文本文件读取ä字符时?

郤立果
2023-03-14
问题内容

我正在尝试从文本文件读取文本。有一些特殊的字符,如å,ä和ö。当我制作一个字符串并打印出该字符串时,我得到了?从这些特殊字符。我正在使用以下代码:

File fileDir = new File("files/myfile.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(
                      new FileInputStream(fileDir), "UTF8"));

String strLine;
while ((strLine = br.readLine()) != null)   {
    System.out.println("strLine: "+strLine);
}

谁能告诉我是什么问题。我希望strLine以文本文件形式显示和保存å,ä和ö。提前致谢。


问题答案:

问题可能不在于文件,而在于您尝试打​​印的控制台。我建议您按照以下步骤

  1. 确保您正在读取的文件以UTF-8编码。
  2. 确保要打印的控制台具有正确的编码/字符集以显示这些字符

最后,这篇文章Unicode-如何正确获取字符?是必读的。



 类似资料:
  • 问题内容: 当逐行打印文件时,代码倾向于在前面添加三个不必要的字符,即“”。 实际输出: 预期产量: 问题答案: 我找不到Python 3的重复版本,该版本3处理的编码与Python 2不同。因此,这就是答案:而不是使用默认编码(是)打开文件,而是使用,它期望并去除UTF- 8字节顺序标记 ,显示为。 也就是说,代替 做 请注意,如果您使用的是Python 2,则应该看到例如Python,将

  • 我只是想给我的*添加一行新的文本。txt文件,但什么也没发生。文件里装着一本书。war,所以我使用类加载器来访问文件。此外,我的EclipseIDE和文件内容都使用UTF-8编码。 我用这些来获得灵感: 如何在Java中向现有文件添加新的文本行? 带有utf-8的Java BufferedWriter对象 现在我的代码主要基于上一篇文章,如下所示: 我已经确认文件确实找到了,而且读起来很好。我已经

  • 在我的流中,我有一条待处理的消息: 不可能(零),但仍然。。我读到了新消息: 新消息不是空的,但是如果我读消息-两者都是(nil) 为什么?

  • 我还尝试了,,JMeter获得了多达8000个示例,最大时间12000ms(超时30s),并给出了错误。在拒绝之前,它至少应该排队10,000个连接。

  • 我做了一个两个类,一个文本文件,和一个应该打印出来的代码,但无论我做什么,它仍然变成空?我试图通过使用InventoryTester中的Book类中的toString方法和Inventory类中的printInventory从文本文件中读取代码。 我的第一个代码是在应该打印的内容上派生的。我做了一个构造函数,我用setter和getter来做这个。然后用toString()方法结束它。我做了一个B

  • 似乎每个类只能用Jsoup创建一个get请求,因为当我将替换为时,我放入中的一个会编译,而另一个会出错。 下面是我的代码和错误: 错误: javax.net.ssl.sslhandShakeException:收到致命警报:在java.base/sun.security.ssl.alert.createsslException(alert.java:128)在java.base/sun.secur