file遍历(递归)

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;
@Override
protected 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值