但是你可以通过 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()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)