こものAndroidメモ

Androidアプリの開発メモブログ!!

assets内のファイル名を取得 —

サウンドファイルや設定ファイルなどを置くときに使えるassetsフォルダについて、ファイル名一覧を取得するテストコードを書いてみました。
 

[assetsフォルダ内のファイル構成]
assets内のファイル

 

assetsフォルダ以下の任意のフォルダ名を指定して、そこに置かれているファイル名をログ表示するというテストです。
 

次のようなコードを書いて、assetsフォルダ内のファイル一覧をログ表示してみます。
今回はassets直下と「assets/ddd」のフォルダ決め打ちで実行しました。

※dddという名前に特に意味はありません(^^;;
 

import java.io.IOException;

import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.util.Log;

public class TestMainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    	setContentView(R.layout.main);
       
        /** assets内のファイルをログ表示.*/
        displayAssets("");
        
        /** assets/ddd内のファイルをログ表示.*/
    	displayAssets("ddd");
    }

	/** 
	 * assets内の任意のフォルダ内のファイルをログ表示.
	 * @param dir
	 * (String) フォルダ名 
	 */  
    private void displayAssets(String dir){
    	AssetManager assetMgr = getResources().getAssets(); 
    	try {  
            String files[] = assetMgr.list(dir);  
            for(int i = 0; i < files.length; i++) {    
            	Log.d("assets file", files[i]);
            }  
        } catch (IOException e) {  
        }  
    }
}

 

[実行結果]
a.txt
b.txt
c.txt
ddd
images
sounds
webkit

aaa.txt
bbb.txt
ccc.txt
 

本来、そこに作っていないはずの3つのフォルダ名「images」「sounds」「webkit」が表示されてびっくりしました。
ちょっと不思議でしたが、ファイル名一覧をログ表示できました。



Categorised as: ファイル操作



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です