【发布时间】:2015-04-11 07:27:55
【问题描述】:
我有一个包含三行整数的 txt 文件,将它们添加到列表后,我在第一个索引的开头发现了一个奇怪的字符。我使用 InputStream、BufferedReader 和 StringBuilder 来读取文件。我尝试在几个地方使用 println() 语句进行调试,但我仍然无法弄清楚该字符的来源。
File selectedFile = fileChooser.getSelectedFile();
inputStream = new FileInputStream(selectedFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder out = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
out.append(line);
items.add(line);
}
当我尝试将打印输出列表项的输出复制到这篇文章时,我所说的字符没有显示出来,所以我将发布一个屏幕截图:
第一个是整个列表,第二个应该更清楚地显示我正在谈论的字符,它看起来像“3”之前的一个点。任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您是否尝试过创建一个新的测试文件并从中读取?它会重现这个问题吗?
-
文本文件是否有BOM?
-
@Seelenvirtuose 我不这么认为。
-
@coder 我现在感觉很蠢,我已经花了好几个小时调试整个程序,但出于某种原因我没有想到这一点。我尝试了一个新的测试文件并且字符消失了。谢谢!
-
您可以尝试使用默认字符集的 FileReader。如果尝试使用输入流构造函数并选择您的字符集
标签: java inputstream bufferedreader