1. 程式人生 > >Android如何獲取asset目錄下所有檔案的路徑

Android如何獲取asset目錄下所有檔案的路徑

package com.hangcheng.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;

public class GetfilesFromAssets {
  private Activity activity;
  private String[] files;

  public GetfilesFromAssets(Context context) {
    this.activity = (Activity) context;

  }

  // public void deepFile(Context ctxDealFile, String path) {
  // try {
  // String str[] = ctxDealFile.getAssets().list(path);
  // if (str.length > 0) {// 如果是目錄
  // File file = new File("/data/" + path);
  // file.mkdirs();
  // for (String string : str) {
  // path = path + "/" + string;
  // System.out.println("zhoulc:\t" + path);
  // // textView.setText(textView.getText()+"\t"+path+"\t");
  // deepFile(ctxDealFile, path);
  // path = path.substring(0, path.lastIndexOf('/'));
  // }
  // } else {// 如果是檔案
  // InputStream is = ctxDealFile.getAssets().open(path);
  // FileOutputStream fos = new FileOutputStream(new File("/data/"
  // + path));
  // byte[] buffer = new byte[1024];
  // int count = 0;
  // while (true) {
  // count++;
  // int len = is.read(buffer);
  // if (len == -1) {
  // break;
  // }
  // fos.write(buffer, 0, len);
  // }
  // is.close();
  // fos.close();
  // }
  // } catch (IOException e) {
  // // TODO Auto-generated catch block
  // e.printStackTrace();
  // }
  // }

  public String[] getfileFromAssets(String path) {
    AssetManager assetManager = activity.getAssets();
    // String[] files;
    try {
      files = assetManager.list(path);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return files;

  }

  public List listHtmlOfAssets() {
    List list = new ArrayList();
    files = getfileFromAssets("html");
    for (int i = 0; i < files.length; i++) {
      HashMap map = new HashMap();
      map.put("htmlname", files[i]);
      list.add(map);
    }
    return list;
  }
}