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: ファイル操作
コメントを残す