8.csv文件时出现问题

mitkmikd  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(322)

我正在开发一个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”。
为什么会这样?

kuuvgm7e

kuuvgm7e1#

问题可能是,当您以后读取文件时,您必须以“utf-8”编码读取它,如

InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8);

相关问题