天天看點

遞歸算法周遊安卓SDCard找出所有音樂、文本和圖檔

//檢測SD卡是否存在
      if (Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            File root = Environment.getExternalStorageDirectory();
			getSDFile(File root)
        }else{
            Toast.makeText(this, "沒有SD卡", Toast.LENGTH_LONG).show();
        }


// 周遊接收一個檔案路徑,然後把檔案子目錄中的所有檔案周遊并輸出來 
	private void getSDFile(File root)
	{
		File files[] = root.listFiles();
		//為空的檔案夾,不做任何動作
		if(files!=null)
		{
			for(File f:files)
			{
				if(f.isDirectory())//判斷是否是檔案夾
				{
					getSDFile(f);
					
				}else{
					if(f.getPath().endsWith(".mp3")){
						
						//音樂
						Log.i("mp3",f.getPath())//輸出音樂路徑
						
					}else if(f.getPath().endsWith(".jpg")){
						//jpg圖檔
						Log.i("Img",f.getPath());//輸出圖檔路徑
					}else if(f.getPath().endsWith(".txt")){
						//文本
						Log.i("Txt",f.getPath());/t文本
					}else if(){
						//其他
					}
				}	
				
			}
		}
	}