搜索一个目录下名字中有key的目录和文件

1,注释部分为搜索当前的文件夹


package irdc.ex04_11; /* import相关class */


import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class EX04_11 extends Activity
{ /* 声明对象变量 */
  private static final String TAG = "EX04_11";
  private Button mButton;
  //private Button mButton2;
  private EditText mKeyword;
  private TextView mResult;
  String result;
  File file;
  File[] files = null;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState); /* 载入main.xml Layout */
    setContentView(R.layout.main); /* 初始化对象 */
    mKeyword = (EditText) findViewById(R.id.mKeyword);
    mButton = (Button) findViewById(R.id.mButton);
    //mButton2 = (Button) findViewById(R.id.mButton2);
    mResult = (TextView) findViewById(R.id.mResult); /* 将mButton加入onClickListener */
    result = "";
    file = new File("/mnt");
    mButton.setOnClickListener(new Button.OnClickListener()
    {
      public void onClick(View v)
      { /* 取得输入的关键词 */
        if(mButton.getText().toString().equals(getString(R.string.str_button))){
          String keyword = mKeyword.getText().toString();
          if (keyword.equals(""))
          {
            mResult.setText("请勿输入空白的关键词!!");
          } else
          {
            mButton.setText(getString(R.string.str_button2).toString());
            Log.i(TAG,"str_button2 " + mButton.getText());
            mResult.setText(searchFile2(file,keyword));
          }
          
        }
        else{
          android.os.Process.killProcess(android.os.Process.myPid());
        }
        mButton.setText(getString(R.string.str_button));
      }
    });
    
    /*mButton2.setOnClickListener(new Button.OnClickListener(){


      @Override
      public void onClick(View v)
      {
        //Log.i(TAG,"mypid " + android.os.Process.myPid());
        android.os.Process.killProcess(android.os.Process.myPid());
        //mButton2.setEnabled(false);
        mButton.setEnabled(true);
      }});*/
  } 
  
  
  
  /* 搜索文件的method */
/*  private String searchFile(String keyword)
  {
    
    String result = "";
    File[] files = new File("/").listFiles();
    for (File f : files)
    {
      if(f.isDirectory()){
        Log.i(TAG,"f.getPath() " + f.getPath());
        //searchFile(f.getPath());
        
      }
      if (f.getName().indexOf(keyword) >= 0)
      {
        result += f.getPath() + "\n";
      }
    }
    if (result.equals(""))
      result = "找不到文件!!";
    return result;
  }*/
  
  private String searchFile2(File path,String keyword)
  {
    //Log.i(TAG,"mypid1 " + android.os.Process.myPid());
    if(path.canRead()){
      files = path.listFiles();
      //Log.i(TAG,"files " + files);
      for (File f : files)
      {
        if (f.getName().indexOf(keyword) >= 0)
        {
          result += f.getPath() + "\n";
          //Log.i(TAG,"result " + result);
        }
        
        if(f.isDirectory()){
          //Log.i(TAG,"f.getPath() " + f.getPath());
          searchFile2(f,keyword);  
        }
        
        if (result.equals(""))
          result = "找不到文件!!";
      }
    }
    return result;
  }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值