html 파일을 "file : ///android_asset/WebApplication/index.html"로 전달하고 있습니다. 이 파일의 존재 여부를 안드로이드에서 어떻게 확인할 수 있습니까?안드로이드 자산 폴더 html 파일의 존재 확인
답변
는 파일이 아닌 실패하면 당신은 그냥 스트림을 열려고 할 수 그것은이 있어야 파일을 실패하지 않는 경우
/**
* Check if an asset exists. This will fail if the asset has a size < 1 byte.
* @param context
* @param path
* @return TRUE if the asset exists and FALSE otherwise
*/
public static boolean assetExists(Context context, String path) {
boolean bAssetOk = false;
try {
InputStream stream = context.getAssets().open(ASSET_BASE_PATH + path);
stream.close();
bAssetOk = true;
} catch (FileNotFoundException e) {
Log.w("IOUtilities", "assetExists failed: "+e.toString());
} catch (IOException e) {
Log.w("IOUtilities", "assetExists failed: "+e.toString());
}
return bAssetOk;
}
[Android Assets]: File or Folder?
How to get all files from assets folder
File f=new File("file:///android_asset/");
File[] files=f.listFiles();
파일이 null den을 반환하면 폴더가 비어 있음을 이해합니다.
assets 폴더의 파일을 검사하기 위해 "Arrays.asList (getResources(). getAssets(). list (" ")) contains (filename)"코드를 사용하고 있습니다. 자산 하위 디렉토리의 파일을 확인하려면 어떻게해야합니까? 리스트 ("") 메소드에서 폴더 이름을 지정하는 것과 같은 하드 코딩을하지 않아도됩니다. – Karthick
getResources(). getAssets()를 사용하면 나중에 쉽게 사용할 수 있습니다. 얼마나 많은 폴더 U에 자산 폴더가 있는지 알 수 있습니다. 폴더 길이를 순환 할 수 있습니다. den ur ur 폴더의 파일 수를 확인할 수 있습니다. 재귀 함수를 사용하거나 폴더에 하위 폴더가있는 경우 다시 반복 호출) – duggu
예, 폴더 목록을 가져 오는 중이지만 파일이나 디렉토리로 변환하기가 어려울 수 있습니다. "목록
시도해보십시오 file.isExist? – techieWings