解决Assert目录下无法拷贝超大文件到SD卡的问题
2010-05-11 21:16
399 查看
Assert 目录文件拷贝时候, Android 有个规定就是文件大小不能操作1M, 不然会抛文件太大的错误. 解决办法如下. 将文件拷贝到类文件下:
代码示意如下:
private static boolean copyFile(Context ctx, String filename, String des) {
InputStream instream = null;
try {
if (filename.contains("TUIRes.ndt")) { //这个文件超过1M
instream = XmlFile.class.getResourceAsStream("TUIRes.ndt");
} else if (filename.contains("TUpdateRes.ndt")) {
instream = XmlFile.class.getResourceAsStream("TUpdateRes.ndt");
} else {
instream = ctx.getAssets().open(filename);
}
copyFile(des, instream);
return true;
} catch (Exception e) {
return false;
}
}
private static void copyFile(String fileToPath, InputStream in)
throws Exception {
OutputStream out = null;
try {
out = new FileOutputStream(fileToPath);
byte[] buffer = new byte[1024];
while (true) {
int ins = in.read(buffer);
if (ins == -1) {
break;
}
out.write(buffer, 0, ins);
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.flush();
out.close();
}
}
}
代码示意如下:
private static boolean copyFile(Context ctx, String filename, String des) {
InputStream instream = null;
try {
if (filename.contains("TUIRes.ndt")) { //这个文件超过1M
instream = XmlFile.class.getResourceAsStream("TUIRes.ndt");
} else if (filename.contains("TUpdateRes.ndt")) {
instream = XmlFile.class.getResourceAsStream("TUpdateRes.ndt");
} else {
instream = ctx.getAssets().open(filename);
}
copyFile(des, instream);
return true;
} catch (Exception e) {
return false;
}
}
private static void copyFile(String fileToPath, InputStream in)
throws Exception {
OutputStream out = null;
try {
out = new FileOutputStream(fileToPath);
byte[] buffer = new byte[1024];
while (true) {
int ins = in.read(buffer);
if (ins == -1) {
break;
}
out.write(buffer, 0, ins);
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.flush();
out.close();
}
}
}
相关文章推荐
- 解决maven3和myeclipse8.6结合后配置文件无法自动拷贝到对应目录问题
- 解决maven3和myeclipse8.6结合后配置文件无法自动拷贝到对应目录问题
- 无法创建目录或文件问题的解决办法
- Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决
- 文件无法拷贝到Windows 7,Windows Server 2008 系统虚拟目录的问题
- Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决
- ftp文件上传,可以上传至非根目录的指定目录,并解决文件中文无法上传问题,返回文件路径
- linux下vsftp的ls命令无法查看目录,无法上传下载文件的问题解决
- 获取MAC系统最高权限(解决文件无法拷贝问题)
- 希捷硬盘解决目录或文件无法读取问题(20171210)特此记录
- Android6.0编译时out目录下文件无法自动生成问题解决方案
- 解决debian JDK无法安装问题提示./install.sfx.: 没有那个文件或目录
- Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决
- 解决“使用驱动器F中的光盘前需要将其格式化 双击后提示:文件目录损坏且无法读取”问题
- 解决Netbeans/eclipse c/cpp 下 undefined reference to ...../无法找到相关文件目录的问题
- Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]问题解决
- 解决ubuntu 64bit AndroidStudio中的SDK无法使用的问题,提示找不到该文件或目录
- 解决拷贝的VirtualBox虚拟磁盘文件无法挂载的问题
- Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法
- 解决Android项目在eclipse中无法打包apk文件[bin目录下没生成apk文件]的问题