0

正規表現を使用して名前でアセットフォルダーにファイルにアクセスする方法はありますか?

1 つのファイルのみを選択しましたが、名前のサフィックスは明らかです

何かのようなもの:

    aFD =SessionManager.getAppContext().getAssets().openFd("box*.png");

ケース:

      /assets/box_1223.png
4

4 に答える 4

2

リストを見ていくだけで...

for( String fileName : getAssets().list( "" ) ) {
    if( fileName.endsWith( ".png" ) ) {
        // here's your image
    }
}
于 2013-02-01T15:13:04.390 に答える
1

assets フォルダーからすべてのファイルを取得する必要があります

AssetManager amgr = getAssets();
    String[] list = amgr.list("./");
    for(String s : list){
        Log.d("File:", s);
        //check if filename is what you need
        if (s.contains(what you need OR regex pattern)){
            //do staff
        }
    }

REGEXまたはを使用して、すべてのファイルを表示し、必要なものだけを取得できます。contains()

于 2013-02-01T15:13:38.623 に答える
0

正規表現でアセットディレクトリからファイルパス名を取得するためのこのコードを書きました:

public String getFileNameFromAssetsByExpresion(String dirFrom, String nameExp) {
AssetManager am = SessionManager.getAppContext().getAssets();
String nameRetExp = null;
try {
    for (String s : am.list(dirFrom)) {
    // check if filename is what you need
    if (Pattern.matches(nameExp, s)) { nameRetExp = s; break;}
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
return nameRetExp;
}
于 2013-02-01T16:38:03.330 に答える