/*<br /> * searchFile 尋找檔案並加入到ArrayList 當中去<br /> * @String keyword 尋找的關鍵詞<br /> * @File filepath 尋找的目錄<br /> * */<br /> private void searchFile(String keyword,File filepath)<br /> { </p><p> //判斷SD卡是否存在<br /> if (Environment.getExternalStorageState().equals(<br /> Environment.MEDIA_MOUNTED))<br /> {<br /> File[] files = filepath.listFiles();</p><p> if (files.length > 0)<br /> {<br /> for (File file : files)<br /> {<br /> if (file.isDirectory())<br /> {<br /> //如果目錄可讀就執行(一定要加,不然會掛掉)<br /> if(file.canRead()){<br /> searchFile(keyword,file); //如果是目錄,遞迴尋找<br /> }<br /> }<br /> else {<br /> //判斷是檔案,則進行檔案名稱判斷<br /> try {<br /> if (file.getName().indexOf(keyword) > -1||file.getName().indexOf(keyword.toUpperCase()) > -1)<br /> {<br /> rowItem = new HashMap<String, Object>();<br /> rowItem.put("number", index); // 加入序號<br /> rowItem.put("bookName", file.getName());// 加入名稱<br /> rowItem.put("path", file.getPath()); // 加入路徑<br /> rowItem.put("size", file.length()); // 加入檔案大小<br /> bookList.add(rowItem);<br /> index++;<br /> }<br /> } catch(Exception e) {<br /> Toast.makeText(this,"尋找發生錯誤", Toast.LENGTH_SHORT).show();<br /> }<br /> }<br /> }<br /> }<br /> }<br /> }<br />