欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年08月29日 09:45:59   作者:RustFisher  
CSV 文件是Excel 的標準文件格式,在開發(fā)過程中經(jīng)常需要格式化輸出數(shù)據(jù)。CSV 的格式非常簡單,都是一行一行存儲的,同一行不同列之間用逗號隔開。下面這篇文章主要給大家介紹了關于Android如何讀寫CSV文件的相關資料,需要的朋友可以參考下。

前言

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

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

設定存儲路徑和文件名:

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)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Android中l(wèi)ayer-list基本使用詳解

    Android中l(wèi)ayer-list基本使用詳解

    這篇文章主要介紹了Android中l(wèi)ayer-list基本使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Android ADB常用命令總結(jié)

    Android ADB常用命令總結(jié)

    本文主要給大家分享的是一些我搜集的一些Android ADB(Android Debug Bridge)命令,在手動或自動構(gòu)建和測試過程中它們非常好用。希望大家能夠喜歡。
    2015-12-12
  • Android 開發(fā)延時調(diào)用的幾種方法

    Android 開發(fā)延時調(diào)用的幾種方法

    本篇文章主要介紹Android 延遲, 在Android 程序開發(fā)過程中經(jīng)常會遇到程序推遲時間執(zhí)行,這里整理了幾種方法,以便Android 開發(fā)的朋友參考
    2016-07-07
  • Android自定義View實現(xiàn)地鐵顯示牌效果

    Android自定義View實現(xiàn)地鐵顯示牌效果

    這篇文章主要為大家詳細介紹了Android自定義View實現(xiàn)地鐵顯示牌效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android 4.4以上

    Android 4.4以上"沉浸式"狀態(tài)欄效果的實現(xiàn)方法

    Android與ios效果互仿早已不是什么稀奇的事,我猜大概這個效果來自ios吧,有爭議說這種效果不能叫做沉浸式,叫透明狀態(tài)欄更合適,我也感覺這和沉浸式的含義不太一致。但是大家都這么叫了,那就這樣唄。下面來一起看看關于Android 4.4以上"沉浸式"效果的實現(xiàn)方法。
    2016-09-09
  • Android 7.0中拍照和圖片裁剪適配的問題詳解

    Android 7.0中拍照和圖片裁剪適配的問題詳解

    這篇文章主要介紹了Android 7.0中拍照和圖片裁剪適配的相關問題,文中通過示例代碼介紹的很詳細,對大家具有一定的參考價值,有需要的朋友們下面來一起學習學習吧。
    2017-02-02
  • Android自定義View圖片按Path運動和旋轉(zhuǎn)

    Android自定義View圖片按Path運動和旋轉(zhuǎn)

    這篇文章主要為大家詳細介紹了Android自定義View圖片按Path運動和旋轉(zhuǎn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 可支持快速搜索篩選的Android自定義選擇控件

    可支持快速搜索篩選的Android自定義選擇控件

    這篇文章主要為大家詳細介紹了可支持快速搜索篩選的Android自定義選擇控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android中Socket的應用分析

    Android中Socket的應用分析

    這篇文章主要介紹了Android中Socket的應用,結(jié)合實例形式分析了Android中socket通信的實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下
    2016-10-10
  • 詳解Android截屏事件監(jiān)聽

    詳解Android截屏事件監(jiān)聽

    本篇文章主要介紹了Android截屏事件監(jiān)聽,Android系統(tǒng)沒有直接對截屏事件監(jiān)聽的接口,本文介紹了2種方法,有興趣的可以了解一下。
    2016-12-12

最新評論