国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android如何讀寫CSV文件方法示例

2019-12-12 02:09:19
字體:
供稿:網(wǎng)友

前言

本文主要給大家介紹的是關(guān)于Android讀寫CSV文件的相關(guān)內(nèi)容,CSV也就是Comma-Separated Values逗號分隔的文本文件,

讀寫csv文件和讀寫普通文件類似;寫的時候給數(shù)據(jù)之間添加上逗號。

設(shè)定存儲路徑和文件名:

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來向文件尾部添加數(shù)據(jù)

FileOutputStream.write(byte[] data)向文件流寫入字節(jié)數(shù)據(jù)。

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();// 這里創(chuàng)建的是目錄   }  }  @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讀取每一行內(nèi)容;讀出來的數(shù)據(jù)帶有逗號分隔符

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());// 顯示    }   });  } }

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 且末县| 龙胜| 曲松县| 石屏县| 五台县| 阳西县| 潜江市| 和顺县| 鄯善县| 徐闻县| 乌兰察布市| 夏河县| 马山县| 东方市| 安西县| 呼图壁县| 广州市| 阿坝县| 巫溪县| 湖南省| 江津市| 贡嘎县| 积石山| 威远县| 那坡县| 隆德县| 锡林郭勒盟| 曲靖市| 新建县| 称多县| 普安县| 太原市| 绍兴县| 中山市| 武隆县| 溧阳市| 周至县| 黎川县| 工布江达县| 龙川县| 息烽县|