源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-02-14 00:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android如何读写CSV文件方法示例
[b]前言[/b] 本文主要给大家介绍的是关于Android读写CSV文件的相关内容,CSV也就是Comma-Separated Values逗号分隔的文本文件, 读写csv文件和读写普通文件类似;写的时候给数据之间添加上逗号。 [b]设定存储路径和文件名:[/b]
private static final String FILE_FOLDER =
  Environment.getExternalStorageDirectory().getAbsolutePath()
  + File.separator + "AboutView" + File.separator + "data";
private static final String FILE_CSV = "about_data.csv";
[b]写CSV文件[/b] 使用FileOutputStream来向文件尾部添加数据 [code]FileOutputStream.write(byte[] data)[/code]向文件流写入字节数据。
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();
   }
  }
 }
[b]读CSV文件[/b] 使用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());// 显示
    }
   });
  }
 }
[b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部