希杰
我有一些数据随应用程序一起发布,这些数据将被复制到外部存储器上。它嵌套在几个子文件夹中,我想复制整个结构。
我很难为/assets中的任何ressource获取文件对象。但我想我依赖于它,因为我需要像file.isdirectory()这样的东西来确定我是否需要开始复制或深入系统。
我的第一个方法是使用Assets Manager,但似乎类没有提供我需要的信息。最有希望的原因是获得AssetFileDescriptor并降到[FileDescriptor][2]。然而,他们似乎没有一个isDirectory-方法。
因此,我的另一个方法是直接的:创建一个文件对象并感到高兴。不过,我似乎遇到了这样一个问题:缺少一个正确的路径来实例化文件对象。我知道file://android_asset但它似乎不适用于file构造函数。
我的最后一个想法是利用inputstream(无论如何我都需要复制它)并以某种方式过滤字节中的一个有效位,这表示该资源是一个目录。这是一个相当老套的解决方案,可能是在地狱般的无效,但我没有看到另一种方式来解决这个问题。

最佳答案

list()在AssetManager上,如果试图获取文件的列表,但目录上的响应有效,则可能会给出空/零长度数组/IOException。
否则应该是file:///android_asset(带3/)

10-07 16:33
查看更多