之后你可以查看一下gen 文件夹下得 R.java中是否存在 raw xxx的ID,存在了说明可以在程序中引用了,不存在将上面步骤重来一次!
建议:最好是找个小一点的视频文件,不然启动程序会比较慢,因为启动程序时,eclipse会把视频文件与程序打包,一起上传到android模拟器的sdcard中,文件太大上传会比较慢,所以测试程序时,用个小视频文件就好!
//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()
}
}
楼主,可以采用常用的加密方式加密文件,放到raw目录中,使用时利用Context.getResources().openRawResource(R.raw.sample)获得输入流,解密,即可得到加密前的数据欢迎分享,转载请注明来源:内存溢出
评论列表(0条)