欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android API编程之Assets文件操作示例

程序员文章站 2023-12-02 18:36:46
本文实例讲述了android api assets文件操作。分享给大家供大家参考,具体如下: public class readassetactivity ext...

本文实例讲述了android api assets文件操作。分享给大家供大家参考,具体如下:

public class readassetactivity extends activity {
  private textview mtextview;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.read_asset);
    initviews();
    readassetsdata();
    listassetsfiles("fonts");// 列出文件目录
  }
  private void readassetsdata() {
    inputstream is = null;
    try {
      // 读取assets文件夹下对应文件的输入流
      is = getassets().open("asset_test.txt");
      // 获取文件输入流的总大小
      int size = is.available();
      // 把整个文件流放到一个byte[]缓冲区
      byte[] buffer = new byte[size];
      is.read(buffer);
      is.close();
      // 将缓冲区数据转换为字符串
      string text = new string(buffer);
      mtextview.settext(text);
    } catch (ioexception e) {
      e.printstacktrace();
    } finally {
      try {
        if (is != null) {
          is.close();
        }
      } catch (ioexception e) {
        // todo auto-generated catch block
        e.printstacktrace();
      }
    }
  }
  private void initviews() {
    mtextview = (textview) findviewbyid(r.id.text);
  }
  /**
   * 获取assets下指定文件夹下文件数量 情况
   *
   * @description:
   * @author ldm
   * @date 2016-4-27 上午9:25:54
   */
  private void listassetsfiles(string filepath) {
    assetmanager am = getassets();
    string[] filename;
    try {
      filename = am.list(filepath);
      if (filename.length > 0) {
        for (int i = 0; i < filename.length; i++) {
          log.e("ldm", string.format("在" + filepath
              + "中文件路下有:[%d] 文件数量", filename.length));
        }
      }
    } catch (ioexception e) {
      e.printstacktrace();
    }
  }
}

更多关于android相关内容感兴趣的读者可查看本站专题:《android文件操作技巧汇总》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android布局layout技巧总结》、《android开发入门与进阶教程》、《android资源操作技巧汇总》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。