前言

本文主要给大家介绍的是关于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());// 显示    }   });  } }

总结

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

更多相关文章

  1. Android封装SDK生成Jar包以及混淆的方法
  2. Android获取内部和外部内存空间大小
  3. Android游戏框架libgdx——BitmapFont的构造
  4. 生成APK
  5. 我来教大家怎样在windows下载android源码
  6. Android(安卓)系统app集成Bugly收集错误
  7. Android(安卓)app安装路径 2
  8. android应用程序的混淆打包(转)
  9. Android打开不同类型文件

随机推荐

  1. 【视频版】Goland 2022.1 最新正版激活方
  2. 【视频版】phpstorm 2021.3.3 最新正版激
  3. android有用的知识
  4. Android中使用httpclient等小结
  5. android EditText输入框获得焦点时候边框
  6. Android(安卓)菜单(OptionMenu)大全 建立
  7. jdk和android的DES加密
  8. [图解]Android源码分析——Service的启动
  9. Linux下 解包/打包 Android(安卓)映像文
  10. android 基于百度地图api获取经纬度