Android 导出CSV文件乱码问题处理

最近有一个需求,需要在Android端导出CSV文件,自测是用的WPS,没啥问题。可到了测试那边,用Excel直接打开就是乱码,需要在Excel数据里面用【从文件/CSV】打开。这样就显示非常的不方便。

解决办法:

java 复制代码
public static void exportToCsv(List<String[]> data, String filePath) throws IOException {
        File csvFolder = new File(FileIO.CSV_PATH);
        boolean isPresent = csvFolder.exists();
        if (!isPresent) {
            csvFolder.mkdir();
        }
        //FileWriter writer = new FileWriter(filePath);
        FileOutputStream fos = new FileOutputStream(filePath);
        // 写入BOM
        fos.write(0xEF); // 239
        fos.write(0xBB); // 191
        fos.write(0xBF); // 189
        OutputStreamWriter writer = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        for (String[] row : data) {
            String csvRow = String.join(",", row);

            writer.write(csvRow + "\n");
        }
        writer.flush();
        writer.close();
    }

解决方案:使用UTF-8 BOM。

相关推荐
fouryears_2341713 小时前
现代 Android 后台应用读取剪贴板最佳实践
android·前端·flutter·dart
YF021114 小时前
Frida for MacBook/Android 安装配置
android·前端
雨白15 小时前
Android实战:构建高可维护的日志系统
android
茄子凉心16 小时前
android 开机启动App
android·java·开发语言
2501_9371931417 小时前
神马影视 8.8 版源码:4K 播放优化体验测评
android·源码·源代码管理·机顶盒
修炼者19 小时前
Kotlin中的Flow流
android·kotlin
洞见不一样的自己19 小时前
Android studio 编译问题
android
j***630819 小时前
SpringbootActuator未授权访问漏洞
android·前端·后端
YJlio20 小时前
进程和诊断工具学习笔记(8.29):ListDLLs——一眼看清进程里加载了哪些 DLL,谁在偷偷注入
android·笔记·学习
你的乔克叔叔20 小时前
四大组件-Activity
android