文件拷贝涉及到存储卡卡的读写,所以需要在配置文件中添加读写权限。因为没有使用动态权限,此方法仅限于,targetSdkVersion小于等于22的项目。
公共字符串副本可视对象(上下文上下文,字符串文件名){字符串路径=环境。目录_下载)。getPath()'/' getPackageName()'/';输入流输入流尝试{ //判断文件是否存在文件文件1=新文件(路径"/"文件名);if(!文件1。exists()){ Toast。MakeText(上下文,)正在处理嘿,吐司。长度_长)。show();inputStream=getAssets().打开(FIlename);文件文件=新文件(路径);//当目录不存在时创建目录if(!文件。exists()){文件。mkdirs();}文件输出流文件输出流=新文件输出流(路径"/" FIlename);//保存到本地的文件夹下的文件字节[]缓冲区=新字节[1024];int count=0;while((count=inputstream。read(buffer))0){ file output stream。写(缓冲区,0,计数);} FileOutputStream。flush();文件输出流。close();inputstream。close();} else { Toast.makeText(上下文,)已存在嘿,吐司。长度_长)。show();}返回路径fileName } catch(IOexception e){ e . print stack trace();返回"";} }//获取到拷贝后的视频播放地址字符串路径_ URL=copy videosd(' XXX。MP4’);//其他地方使用播放地址字符串路径_ url2=环境。目录_下载)。getPath()'/{ 0包名}/XXX。MP4’;