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。

相关推荐
时光足迹41 分钟前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
Coffeeee5 小时前
闲聊几句,Android老哥们,你们多久没做技改需求了
android·程序员·代码规范
萝卜er6 小时前
Fragment 生命周期与状态恢复-《Android深水区(四)》
android
萝卜er6 小时前
Intent 显式、隐式与 PendingIntent-《Android深水区(五)》
android
Kapaseker8 小时前
一文吃透 Kotlin 集合操作符
android·kotlin
三少爷的鞋9 小时前
Main-safe:现代Android 架构真正的分水岭
android
沐怡旸17 小时前
深入解析 Android Performance Analyzer (APA) 底层架构与技术原理
android
李斯维1 天前
从历史的角度看 Android 软件架构
android·架构·android jetpack
plainGeekDev1 天前
Activity 间传值 → Navigation 参数
android·java·kotlin
用户41659673693551 天前
Android WebView 加载 file:// 离线页面调试教程
android·前端