private static String DB_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath() + "/";
private static String DB_NAME = "hello.zip";
private static final int ASSETS_SUFFIX_BEGIN = 101;
private static final int ASSETS_SUFFIX_END = 102;
private static String ASSETS_NAME = "hello.zip";
1、复制(大于1M 需要用文件分割器分割)
private void copyBigDataBase() throws IOException {
InputStream myInput;
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
for (int i = ASSETS_SUFFIX_BEGIN; i < ASSETS_SUFFIX_END + 1; i++) {
myInput = this.getAssets().open(ASSETS_NAME + "." + i);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myInput.close();
}
myOutput.close();
}
2、解压缩(有一级单个目录)
public void unzipFile(String targetPath, String zipFilePath) {
try {
File zipFile = new File(zipFilePath);
InputStream is = new FileInputStream(zipFile);
ZipInputStream zis = new ZipInputStream(is);
ZipEntry entry = null;
System.out.println("开始解压:" + zipFile.getName() + "...");
while ((entry = zis.getNextEntry()) != null) {
String zipPath = entry.getName();
try {
if (entry.isDirectory()) {
File zipFolder = new File(targetPath + File.separator
+ zipPath);
if (!zipFolder.exists()) {
zipFolder.mkdirs();
}
} else {
File file = new File(targetPath + File.separator
+ zipPath);
if (!file.exists()) {
File pathDir = file.getParentFile();
pathDir.mkdirs();
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
int bread;
while ((bread = zis.read()) != -1) {
fos.write(bread);
}
fos.close();
}
System.out.println("成功解压:" + zipPath);
} catch (Exception e) {
System.out.println("解压" + zipPath + "失败");
continue;
}
}
zis.close();
is.close();
System.out.println("解压结束");
} catch (Exception e) {
e.printStackTrace();
}
}
参考资料:
分享到:
相关推荐
在工程目录assets下的文件,将目录下的文件复制到手机内存或者SD卡内存中。
NULL 博文链接:https://hzy3774.iteye.com/blog/1704419
android编程实现: 1、在res目录下建立raw...2、在您的手机相册目录下(即:DCIM目录)新建两文本文件,分别命名为a1.txt和a2.txt,并将raw目录下的a1.txt和assets目录下a2.txt文件的文本内容复制到新建的同名文件中。
Android读取 assets 与 sdcard 中的 ini 文件与图片,通过Android原生方式实现
Android 加载assets文件夹的文本文件 图片
将assets下的资源复制到SD卡,实现了一个工具类,传入两个路径即可。
实现从Android项目下的assets中获取ini文件的指定内容的功能
Android 中获取Assets目录下的文件和子目录下的文件,获取raw文件夹下的文件
这是一个android下对assets文件夹的使用,实现了对外部导入数据库文件的操作,查询和删除功能
1、新建assets文件夹,并将json文件复制到此文件夹中 在main文件夹下新建assets文件,然后再assets文件中新建namelist.json文件夹,将json数据复制到test.json文件中。 2、访问json文件 try { AssetManager ...
在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。 介绍...
Assets文件介绍 assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。 1. 先在Activity里面调用getAssets() 来获取AssetManager引用。 2. 再用AssetManager的open(String...
Android 使用MediaPlayer播放assets或者raw目录的音频文件 https://blog.csdn.net/qq_31939617/article/details/80491552
本文实例讲述了Android播放assets文件里视频文件相关问题。分享给大家供大家参考,具体如下: 今天做了一个功能,就是播放项目工程里面的视频文件,不是播放SD卡视频文件。 我开始尝试把视频文件放到 assets文件目录...
Android读取assets下面文件的代码例子。用于演示读取assets目录下文本文件和图片文件,以及加载html网页的功能。
文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar
今天用到了提示音,读取 android 文件夹 assets 下的音频,写了个demo,可以直接拿去用;文件夹下音频大小好像不能超过1M,否则可能不能读取;
支持 Assets 下的文件或者文件夹拷贝到手机存储 public static void copyAssetsDirToSDCard(Context context, String assetsDirName, String sdCardPath) { Log.d(TAG, copyAssetsDirToSDCard() called with: ...
// assets下文件//String fileName = “/sdcard/test/my_sdcard_test.txt”;// sdcard下子目录文件String ret = “”;try {FileInputStream fis = new FileInputStream(fileName);int len = fis.available();byte []...