Hej,determinar wheteher entrada activo androide es un archivo o directorio
tengo algunos datos enviados a cabo con la aplicación que se copian en el almacenamiento externo. Está anidado en un par de subcarpetas y me gustaría copiar toda la estructura.
Me está costando conseguir un objeto File para cualquier recurso en /assets
. Pero creo que dependo de eso porque necesito algo como File.isDirectory() para determinar si tengo que comenzar a copiar o sumergirme más profundamente en el sistema.
Mi primer enfoque fue usar Assets Manager pero parece que la clase no proporciona la información que necesito. El más prometedor fue obtener un AssetFileDescriptor
y bajar a un [FileDescriptor][2]
. Sin embargo, ninguno de ellos parece tener un isDirectory
-metodo.
Así que mi otro enfoque es sencillo: crear un objeto de archivo y ser feliz. Sin embargo, parece que estoy corriendo en este problema de falta de una ruta adecuada para instanciar el objeto de archivo. Soy consciente de file://android_asset
pero no parece funcionar para el constructor file
.
Mi última idea era utilizar el InputStream (que necesito para copiar de todos modos) y de alguna manera filtrar el byte por un bit significativo que indica que este recurso es un directorio. Esa es una solución bastante hacky y probablemente en el infierno de la ineficacia, pero no veo otra manera de evitar eso.
También puede consultar https://stackoverflow.com/a/46827944/2179872, que hace una combinación de los dos métodos *** AssetManager.list() *** y *** AssetManager.open() *** – Cosmin