我正在开发一个java应用程序,它接受用户的.csv文件,然后将它们读写到服务器上的一个临时文件夹中进行处理。以下是我的一些io代码:
br = new BufferedReader(new InputStreamReader(in));
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
String str;
while ((str = br.readLine()) != null) {
out.write(str);
out.newLine();
}
out.flush();
在这里调试并查看excel中的输出文件时,它看起来和我期望的完全一样。假设用户输入一个csv文件,其中第一个单元格的值是“foo”(没有特殊字符);这一切似乎都出现在excel和调试器中。但稍后,我将使用 value.contains("Foo")
. 仅当csv文件以csv utf-8格式保存在excel中时,此选项才返回false,即使根据excel和调试器值的值为“foo”。
为什么会这样?
1条答案
按热度按时间kuuvgm7e1#
问题可能是,当您以后读取文件时,您必须以“utf-8”编码读取它,如