在我的应用程序中,我的需求是需要从assets文件夹安装.APK文件,所以我试图将apk文件从assets文件夹复制到sdcard,我得到File Not Found Exception.
这些代码如下:
String file_path = Environment.getExternalStorageDirectory().getAbsolutePath();
String file_name = "ImageDownloading.apk";
AssetManager assetManager = getAssets();
try{
InputStream input = new BufferedInputStream(assetManager.open(file_name));
File path = new File(file_path);
if(!path.exists()){
path.mkdirs()
}
File file = new File(path,file_name);
OutputStream output = new FileOutputStream(file); // Here i get File Not Found Exception error.
byte data[] = new byte[1024];
int count;
while ((count = input.read(data)) != -1) {
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
}
catch(FileNotFoundException e){
Toast.makeText(MainActivity.this,"File not found exception " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
我花了很多时间,但我没有找到解决方案。
答案 0 :(得分:3)
您是否在清单文件中设置了此权限?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />