android遍历文件夹下文件

不多说,直接上代码哈

package com.mstar.ui;

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

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MyListView extends ListActivity 
{
	private static final String TAG = "MyListView";	
	private List<String> paths = new ArrayList<String>();
	private String rootPath = "/mnt/mstarnfs";
	private String rootPath1 = "/mnt/sdcard";
	private String blenderfile = new String();
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);		
		GetFiles(rootPath,".blend",true);
		GetFiles(rootPath1,".blend",true);
		setContentView(R.layout.mylistview);
		
		ArrayAdapter<String> fileList = (new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1, paths));
		setListAdapter(fileList); 
	}
	protected void onListItemClick (ListView l,View v,int position,long id)
	{
		//String name;
		blenderfile =paths.get(position);
		Log.i(TAG, "-------click is--------" + blenderfile);
		Intent intent = new Intent();
		intent.setClass(MyListView.this, MyHome.class);
		intent.putExtra("BlendFile", blenderfile);		
		startActivityForResult(intent, position);
		
	}
	public void GetFiles(String Path, String Extension, boolean IsIterative)  //搜索目录,扩展名,是否进入子文件夹
	{
	    File[] files = new File(Path).listFiles();
	    File f;
	    if(files == null)
	    {
	    	Toast.makeText(MyListView.this, Path+"is empty",Toast.LENGTH_LONG);
        	return;
	    }
	    for (int i = 0; i < files.length; i++)
	    {
	        f = files[i];
	        if(!f.canRead())
	        {
	        	Toast.makeText(MyListView.this, Path+"can not read",Toast.LENGTH_LONG);
	        	return;
	        }
	        if (f.isFile())
	        {
	            if (f.getName().contains(Extension))  //判断扩展名	            		
	            {
	            	Log.v(TAG,f.getPath());
	            	paths.add(f.getPath());
	            }
	        }
	        else if (f.isDirectory())  
	            GetFiles(f.getPath(), Extension, IsIterative);
	    }
	}
}

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	
    <ListView 
    android:id="@id/android:list"
    android:layout_gravity="center_vertical|center_horizontal"
    android:layout_width="960px" 
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:choiceMode="singleChoice"
    android:background="@drawable/addapplist_bg"
    android:divider="#555555"    
    ></ListView>    
   
</LinearLayout>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值