虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Android编程 > Android如何读写CSV文件方法示例

Android如何读写CSV文件方法示例
类别:Android编程   作者:码皇   来源:互联网   点击:

CSV 文件是Excel 的标准文件格式,在开发过程中经常需要格式化输出数据。CSV 的格式非常简单,都是一行一行存储的,同一行不同列之间用逗号隔开。下面这篇文章主要给大家介绍了关于Android如何读写CSV文件的相关资料,需要的朋友可以参考下。

前言

本文主要给大家介绍的是关于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文件 csv