Android 将文件复制到指定目录
2011-10-18 17:20
651 查看
有时开发需要将指定的文件复制到指定的目录下,比如:第一次打开应用程序时,可以将其注册的一些相关信息或者一些有必要的数据信息复制到指定的目录下,永久的保存下来,今天我就仿照网上一篇相关博文写一个刚开始放在Androd工程里的一个数据库文件复制到Android应用程序中。大家修改一下存放目录,将图片、文本等文件复制到指定目录的sd里
说明一下,所有应用程序的数据库都是存放到 /data/data/包名/databases 下面
其中Novel.db是assets下的数据库名称,如果数据库名称不同,在此修改就行了。
本文到此就结束了,各位兄台有不好之处,请不吝赐教!
说明一下,所有应用程序的数据库都是存放到 /data/data/包名/databases 下面
package com.txj.novel.read; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.annotation.SuppressLint; import android.app.TabActivity; import android.os.Bundle; import android.os.Handler; import android.os.Message; /** * @functional 主界面 * @author hugengzong * @createTime 2014年11月29日下午10:47:44 */ @SuppressLint("HandlerLeak") public class CopyOfMainActivity extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); mHandler.sendEmptyMessage(1); // 判断是否有数据库,如果没有将数据库写入指定位置 } private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { /** * 判断数据库是否有数据库,如果没有将数据库复制到指定位置, * Novel.db是assets下的数据库名称 */ case 1: try { toSDWriteFile("Novel.db"); } catch (IOException e) { e.printStackTrace(); } break; } } }; // 将指定文件写入SD卡,说明一下,应用程序的数据库是存放到/data/data/包名/databases 下面 private String toSDWriteFile(String fileName) throws IOException { // 获取assets下的数据库文件流 InputStream is = this.getBaseContext().getAssets().open(fileName); // 获取应用包名 String sPackage = this.getPackageName(); File mSaveFile = new File("/data/data/" + sPackage + "/databases/"); if (!mSaveFile.exists()) { mSaveFile.mkdirs(); } String local_file = mSaveFile.getAbsolutePath() + "/" + fileName; mSaveFile = new File(local_file); if (mSaveFile.exists()) { mSaveFile.delete(); } mSaveFile.createNewFile(); FileOutputStream fos = new FileOutputStream(mSaveFile, true); byte[] buffer = new byte[400000]; int count = 0; while ((count = is.read(buffer)) > 0) { fos.write(buffer, 0, count); } mSaveFile = null; fos.close(); is.close(); return local_file; } }
其中Novel.db是assets下的数据库名称,如果数据库名称不同,在此修改就行了。
本文到此就结束了,各位兄台有不好之处,请不吝赐教!
相关文章推荐
- Android 复制单个文件到指定目录,Android copy file
- Android复制Assets目录下的文件到指定目录
- Androin学习笔记五十:Android 将文件复制到指定目录
- Android复制Assets目录下的文件到指定目录
- 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录
- Dos命令复制文件夹到制定目录 删除指定目录及其文件夹下的文件
- android获取指定路径下目录文件
- android从assets目录复制文件到sd卡
- android SD卡目录下创建、复制文件夹以及文件
- Android:从Apk本地Assets复制文件到指定文件夹
- Java复制文件到指定目录、延时重命名
- linux命令复制指定文件或者指定目录下的全部文件到另一个目录中
- Android之获取指定目录下的所有特殊文件名字
- Android遍历获取指定目录的文件
- android 将文件下载到指定目录
- ubuntu 查找含有特定字符的文件并复制到指定目录
- androidstudio cmake指定so文件输出目录
- Unix 复制文件至指定目录
- Android 拷贝assets目录下所有文件及文件夹到指定路径
- 自动复制指定文件到指定目录中的NANT脚本