1 @Override 2 public void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.main); 5 EditText keywordText = (EditText)this.findViewById(R.id.keyword); 6 Button button = (Button)this.findViewById(R.id.button); 7 TextView result = (TextView)this.findViewById(R.id.result); 8 button.setOnClickListener(new Button.OnClickListener() { 9 public void onClick(View v) { 10 String keyword = keywordText.getText().toString(); 11 if (keyword.equals("")) { 12 result.setText("請勿輸入空白的關鍵詞!!"); 13 }else { 14 result.setText(searchFile(keyword)); 15 } 16 } 17 }); 18 } 19 20 private String searchFile(String keyword) { 21 String result = ""; 22 File[] files = new File("/").listFiles(); 23 for (File file : files) { 24 if (fike.getName().indexOf(keyword) >= 0) { 25 result += file.getPath() + "\n"; 26 } 27 } 28 if (result.equals("")){ 29 result = "找不到文件!!"; 30 } 31 return result; 32 }
首先,我們需要通過File.listFiles()方法獲取文件夾下所有文件或者文件夾的名字,這里的文件夾的路徑是"/",也就是根目錄。然后我們再通過getPath()逐個獲取它們的相對路徑。
例子的運行結果如: