正規表現を使用して名前でアセットフォルダーにファイルにアクセスする方法はありますか?
1 つのファイルのみを選択しましたが、名前のサフィックスは明らかです
何かのようなもの:
aFD =SessionManager.getAppContext().getAssets().openFd("box*.png");
ケース:
/assets/box_1223.png
正規表現を使用して名前でアセットフォルダーにファイルにアクセスする方法はありますか?
1 つのファイルのみを選択しましたが、名前のサフィックスは明らかです
何かのようなもの:
aFD =SessionManager.getAppContext().getAssets().openFd("box*.png");
ケース:
/assets/box_1223.png
リストを見ていくだけで...
for( String fileName : getAssets().list( "" ) ) {
if( fileName.endsWith( ".png" ) ) {
// here's your image
}
}
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()
正規表現でアセットディレクトリからファイルパス名を取得するためのこのコードを書きました:
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;
}