yug*_*oid 55
AFAIK,您无法File从资产文件创建,因为它们存储在apk中,这意味着没有资源文件夹的路径.
但是,您可以尝试File使用缓冲区创建它AssetManager(它提供对应用程序的原始资产文件的访问).
尝试做类似的事情:
AssetManager am = getAssets();
InputStream inputStream = am.open("myfoldername/myfilename");
File file = createFileFromInputStream(inputStream);
private File createFileFromInputStream(InputStream inputStream) {
try{
File f = new File(my_file_name);
OutputStream outputStream = new FileOutputStream(f);
byte buffer[] = new byte[1024];
int length = 0;
while((length=inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,length);
}
outputStream.close();
inputStream.close();
return f;
}catch (IOException e) {
//Logging exception
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
让我知道你的进展.
除非你解压缩它们,否则资产仍然在apk中.因此,没有可以输入文件的路径.您在问题中给出的路径将与WebView一起使用,但我认为这是WebView的一个特例.
您需要解压缩文件或直接使用它.
如果您有Context,则可以使用context.getAssets().open("myfoldername/myfilename");在文件上打开InputStream.使用InputStream,您可以直接使用它,或者在某个地方写出来(之后您可以将它与File一起使用).
| 归档时间: |
|
| 查看次数: |
98504 次 |
| 最近记录: |