android 获取assets内的文件转File

//调用方法
 String dirPath = ContextCompat.getExternalFilesDirs(MainActivity.this,
                Environment.DIRECTORY_DCIM)[0].getAbsolutePath() + File.separator + "PrintFile";
        try {
            copyAssetToFile("庭审系统安卓端操作手册.pdf",dirPath,"/庭审系统安卓端操作手册.pdf");
        } catch (IOException e) {
            Log.e("tyl","IOException="+e.getMessage());
            e.printStackTrace();
        }
//读取到本地file文件
 File file = new File(dirPath+"/庭审系统安卓端操作手册.pdf");
/**
     * 复制assets下的文件到本地文件
     * assetName assets内的文件名称
     * savepath 本地文件夹路径
     * savename 保存的文件名称需带后缀文件类型 如.pdf
     * @throws IOException
     */
    public void copyAssetToFile(String assetName, String savepath, String savename) throws IOException {
        InputStream myInput;
        File dir = new File(savepath);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        File dbf = new File(savepath + savename);
        if (dbf.exists()) {
            dbf.delete();
        }
        String outFileName = savepath + savename;
        OutputStream myOutput = new FileOutputStream(outFileName);
        myInput = this.getAssets().open(assetName);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = myInput.read(buffer)) > 0) {
            myOutput.write(buffer, 0, length);
        }
        myOutput.flush();
        myInput.close();
        myOutput.close();
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容