Android 无法访问资产文件
嗨,我正在开发android应用程序,我在其中有资产文件夹。在资产文件夹中,我已经放置了abc.pdf。但当我试图访问该文件时,它显示该文件不存在。我用下面的方法试过了Android 无法访问资产文件,android,pdf,assets,Android,Pdf,Assets,嗨,我正在开发android应用程序,我在其中有资产文件夹。在资产文件夹中,我已经放置了abc.pdf。但当我试图访问该文件时,它显示该文件不存在。我用下面的方法试过了 File pdfFile = new File("file:///android_asset/"+ "abc.pdf"); if(!pdfFile.exists()){ Toast.makeText(this, "not there", Toast.LENGTH_SHORT).show();
File pdfFile = new File("file:///android_asset/"+ "abc.pdf");
if(!pdfFile.exists()){
Toast.makeText(this, "not there", Toast.LENGTH_SHORT).show();
return;
}
else
{
Toast.makeText(this, "it's there", Toast.LENGTH_SHORT).show();
}
我做错什么了吗?我需要一些帮助。谢谢。资产只是开发机器上的一个文件。它不是设备上的文件。不能使用
文件
引用它
使用
AssetManager
和open()
获取资产上的InputStream
。您可以通过在任何上下文或资源对象上调用getAssets()
来获取AssetManager
。资产只是开发机器上的一个文件。它不是设备上的文件。不能使用文件
引用它
使用AssetManager
和open()
获取资产上的InputStream
。您可以通过对任何上下文或资源对象调用getAssets()
来获取AssetManager
。例如,从资产文件夹加载json文件:
private String loadJSONFromAsset(Context context) {
String json;
try {
AssetManager assetManager = context.getAssets();
InputStream inputStream = assetManager.open("model.json");
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, "UTF-8");
json = writer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return json;
}
例如,从资产文件夹加载json文件:
private String loadJSONFromAsset(Context context) {
String json;
try {
AssetManager assetManager = context.getAssets();
InputStream inputStream = assetManager.open("model.json");
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, "UTF-8");
json = writer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return json;
}