android工程res目录下raw文件夹中的文件绝对路径是什么

android工程res目录下raw文件夹中的文件绝对路径是什么,第1张

raw是程序包里的文件,安装到程序以后也没有绝对路径,因为这个是在程序内部的

但是你可以通过 InputStream is =getResources().openRawResource(R.id.filename)

来得到这个inputStream

//name要创建的文件的名字,id是raw那个文件的id,R.raw.xxx就可以了

public void createFile(String name , int id) {  

        String filePath = ConstantPool.EXP_MUSIC + "/" + name// 文件路径  

        try {  

            File dir = new File(ConstantPool.EXP_MUSIC)// 目录路径  

            if (!dir.exists()) {// 如果不存在,则创建路径名  

                System.out.println("要存储的目录不存在")  

                if (dir.mkdirs()) {// 创建该路径名,返回true则表示创建成功  

                    System.out.println("已经创建文件存储目录")  

                } else {  

                    System.out.println("创建目录失败")  

                }  

            }  

            // 目录存在,则将apk中raw中的需要的文档复制到该目录下  

            File file = new File(filePath)  

            if (!file.exists()) {// 文件不存在  

                System.out.println("要打开的文件不存在")  

                InputStream ins = context.getResources().openRawResource(  

                 id)// 通过raw得到数据资源  

                System.out.println("开始读入")  

                FileOutputStream fos = new FileOutputStream(file)  

                System.out.println("开始写出")  

                byte[] buffer = new byte[8192]  

                int count = 0// 循环写出  

                while ((count = ins.read(buffer)) > 0) {  

                    fos.write(buffer, 0, count)  

                }  

                System.out.println("已经创建该文件")  

                fos.close()// 关闭流  

                ins.close()  

            }  

        } catch (Exception e) {  

            e.printStackTrace()  

        }  

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11847339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存