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

Android实现读取SD卡下所有TXT文件名并用listView显示出来的方法

程序员文章站 2022-06-11 09:31:03
本文实例讲述了android实现读取sd卡下所有txt文件名并用listview显示出来的方法。分享给大家供大家参考,具体如下: mainactivity.java...

本文实例讲述了android实现读取sd卡下所有txt文件名并用listview显示出来的方法。分享给大家供大家参考,具体如下:

mainactivity.java

package com.zxl;
import java.io.file;
import java.util.arraylist;
import java.util.hashmap;
import android.app.activity;
import android.os.bundle;
import android.os.environment;
import android.util.log;
import android.widget.listview;
import android.widget.simpleadapter;
public class txt_sdkaactivity extends activity {
  private listview lv;
  arraylist name;
  /** called when the activity is first created. */
  @override
  public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    lv = (listview) findviewbyid(r.id.lv);
    name = new arraylist();
    if (environment.getexternalstoragestate().equals(environment.media_mounted)) {
      file path = environment.getexternalstoragedirectory();// 获得sd卡路径
      // file path = new file("/mnt/sdcard/");
      file[] files = path.listfiles();// 读取
      getfilename(files);
    }
    simpleadapter adapter = new simpleadapter(this, name, r.layout.pes, new string[] { "name" }, new int[] { r.id.txt_tv });
    lv.setadapter(adapter);
    for (int i = 0; i < name.size(); i++) {
      log.i("zeng", "list. name: " + name.get(i));
    }
  }
  private void getfilename(file[] files) {
    if (files != null) {// 先判断目录是否为空,否则会报空指针
      for (file file : files) {
        if (file.isdirectory()) {
          log.i("zeng", "若是文件目录。继续读1" + file.getname().tostring() + file.getpath().tostring());
          getfilename(file.listfiles());
          log.i("zeng", "若是文件目录。继续读2" + file.getname().tostring() + file.getpath().tostring());
        } else {
          string filename = file.getname();
          if (filename.endswith(".txt")) {
            hashmap map = new hashmap();
            string s = filename.substring(0, filename.lastindexof(".")).tostring();
            log.i("zeng", "文件名txt::  " + s);
            map.put("name", filename .substring(0, filename.lastindexof(".")));
            name.add(map);
          }
        }
      }
    }
  }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >
  <textview
    android:id="@+id/textview1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />
  <listview
    android:id="@+id/lv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignparentleft="true"
    android:layout_below="@+id/textview1"
    android:layout_margintop="62dp" >
  </listview>
</relativelayout>

pes.xml

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >
  <textview
    android:id="@+id/txt_tv"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textsize="20pt"
    android:layout_weight="1"
    />
</linearlayout>

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

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