Android如何读写CSV文件方法示例

发布时间 - 2026-01-11 03:00:33    点击率:

前言

本文主要给大家介绍的是关于Android读写CSV文件的相关内容,CSV也就是Comma-Separated Values逗号分隔的文本文件,

读写csv文件和读写普通文件类似;写的时候给数据之间添加上逗号。

设定存储路径和文件名:

private static final String FILE_FOLDER =
  Environment.getExternalStorageDirectory().getAbsolutePath()
  + File.separator + "AboutView" + File.separator + "data";
private static final String FILE_CSV = "about_data.csv";

写CSV文件

使用FileOutputStream来向文件尾部添加数据

FileOutputStream.write(byte[] data)向文件流写入字节数据。

class WriteData2CSVThread extends Thread {
  short[] data;
  String fileName;
  String folder;
  StringBuilder sb;
  public WriteData2CSVThread(short[] data, String folder, String fileName) {
   this.data = data;
   this.folder = folder;
   this.fileName = fileName;
  }
  private void createFolder() {
   File fileDir = new File(folder);
   boolean hasDir = fileDir.exists();
   if (!hasDir) {
    fileDir.mkdirs();// 这里创建的是目录
   }
  }
  @Override
  public void run() {
   super.run();
   createFolder();
   File eFile = new File(folder + File.separator + fileName);
   if (!eFile.exists()) {
    try {
     boolean newFile = eFile.createNewFile();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
   try {
    FileOutputStream os = new FileOutputStream(eFile, true);
    sb = new StringBuilder();
    for (int i = 0; i < data.length; i++) {
     sb.append(data[i]).append(",");
    }
    sb.append("\n");
    os.write(sb.toString().getBytes());
    os.flush();
    os.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
 }

读CSV文件

使用BufferedReader读取每一行内容;读出来的数据带有逗号分隔符

class ReadCSVThread extends Thread {
  String fileName;
  String folder;
  public ReadCSVThread(String folder, String fileName) {
   this.folder = folder;
   this.fileName = fileName;
  }
  @Override
  public void run() {
   super.run();
   File inFile = new File(folder + File.separator + fileName);
   final StringBuilder cSb = new StringBuilder();
   String inString;
   try {
    BufferedReader reader =
     new BufferedReader(new FileReader(inFile));
    while ((inString = reader.readLine()) != null) {
     cSb.append(inString).append("\n");
    }
    reader.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
   runOnUiThread(new Runnable() {
    @Override
    public void run() {
     mCSVTv.setText(cSb.toString());// 显示
    }
   });
  }
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# android  # csv文件读写  # java读写csv文件  # 读写Android中assets目录下的文件的方法详解  # Android中文件读写(输入流和输出流)操作小结  # Android手机内存中文件的读写方法小结  # Android应用程序中读写txt文本文件的基本方法讲解  # Android编程之文件的读写实例详解  # Android 读写文件方法汇总  # android开发之Json文件的读写的示例代码  # android 开发 文件读写应用案例分析  # Android读写文件工具类详解  # Android日志文件的读写工具类  # 的是  # 相关内容  # 给大家  # 这篇文章  # 谢谢大家  # 文本文件  # 来向  # 分隔符  # 有疑问  # FILE_CSV  # data  # about_data  # getExternalStorageDirectory  # separator  # File  # getAbsolutePath  # AboutView  # Environment  # FileOutputStream  # Thread 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  C语言设计一个闪闪的圣诞树  Android中AutoCompleteTextView自动提示  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  简单实现Android文件上传  如何在IIS中配置站点IP、端口及主机头?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel怎么实现验证码(Captcha)功能  Android滚轮选择时间控件使用详解  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何用花生壳三步快速搭建专属网站?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  iOS中将个别页面强制横屏其他页面竖屏  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel如何使用查询构建器?(Query Builder高级用法)  Laravel如何实现模型的全局作用域?(Global Scope示例)  制作企业网站建设方案,怎样建设一个公司网站?  如何在建站宝盒中设置产品搜索功能?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  iOS UIView常见属性方法小结  网页设计与网站制作内容,怎样注册网站?  青岛网站建设如何选择本地服务器?  如何在IIS管理器中快速创建并配置网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  免费视频制作网站,更新又快又好的免费电影网站?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何挑选优质建站一级代理提升网站排名?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  轻松掌握MySQL函数中的last_insert_id()  Java解压缩zip - 解压缩多个文件或文件夹实例  Android自定义控件实现温度旋转按钮效果  如何在腾讯云服务器快速搭建个人网站?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  什么是javascript作用域_全局和局部作用域有什么区别?  详解阿里云nginx服务器多站点的配置  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  怎样使用JSON进行数据交换_它有什么限制  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  香港服务器租用每月最低只需15元?