file遍历(递归)

来源:互联网 发布:js uint8array int 编辑:程序博客网 时间:2024/06/10 16:58

package com.bwie.file;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import com.bwie.file.adapter.FileAdapter;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;

public class MainActivity extends Activity {

private ListView lv;private FileAdapter adapter;List<String> list=new ArrayList<>();private File file;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //查找控件    lv = (ListView) findViewById(R.id.lv);    //得到sd卡下的根目录    file = Environment.getExternalStorageDirectory();    //初始化数据    init(file);    //设置适配器并更新    adapter = new FileAdapter(MainActivity.this);    lv.setAdapter(adapter);    adapter.addrest(list);}private void init(File root) {    //判断是否存在sd卡,sd卡是否可读可写    if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){        //得到根目录下所有的文件及文件夹        File sdfiles[]=root.listFiles();        //遍历        for (File f : sdfiles) {            //判断是文件还是文件夹            if(f.isDirectory()){                init(f);//如果是文件夹,用递归方法得到文件夹下的文件            }else{                //此时的  f 是文件,然后进行选择,用后缀得到想要的文件,比如;想要图片                String name=f.toString();//得到文件名                if(name.substring(name.length()-3, name.length()).equals("jpg")||name.substring(name.length()-3, name.length()).equals("png")){                    //把文件名添加到集合                    list.add(name);                }            }        }    }}

}

0 0
原创粉丝点击