ref to http://stackoverflow.com/questions/2860157/load-files-bigger-than-1m-from-assets-folder
android read/copy big size file in asset/raw:
1.change filename's sufix to mp3 to prevent the compress for the file.
2.For some file, if zip can save much size, zip it first then using "ZipInputStream" to read it.
InputStream dbIn = getAssets().open("my.zip");
ZipInputStream zis = new ZipInputStream(dbIn);
this have the limit that most time, the zipped file still too large.
3.split the files into multi small blocks and read/write them into one. Many split tools like hjsplit.
FileOutputStream dbOut = new FileOutputStream(dbFile.getAbsolutePath());
for (int i = 1; i < 11; i++) {
// source file open
String fn = String.format("resource.irf.d", i);
InputStream dbIn = getAssets().open(fn);
copyFile(dbIn, dbOut);
dbIn.close();
}
dbOut.close();
helpers to copy file:
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
}
private void copyFile(ZipInputStream zis, OutputStream out)throws IOException {
ZipEntry ze = null;
while ((ze = zis.getNextEntry()) != null) {
byte[] buffer = new byte[1024];
int count;
while ((count = zis.read(buffer)) != -1) {
out.write(buffer, 0, count);
}
}
}
android assets/raw 大文件读取
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
虚拟化kvm的raw文件处理
kvm的raw文件简单处理
raw文件打开 kvm的raw文件处理 -
assets文件 raw 文件 比较
文章目录1、简介2、建立位置1、简介assets 、raw 都是Android 存放资源的文件,比如 txt 音频 等。2、建立位置
assets raw 输入流 文件路径 文件名 -
读取assets文件 android 读取assets文件路径
在Android平台上,可以从资源文件和assets中获得输入流读取数据。这些文件分别存放在应用程序的res/raw目录和assets目录下,这些文件将会在编译的时候和其他文件一起被打包。assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中。res/raw:该目
读取assets文件 android 读取Resources和Assets中的 Resources Assets android