阅读更多
package com.sun.coptfiletosd;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.os.Environment;import android.util.Log;/** * 工具类 , 用于将RAW 目录下的文件写入到数据库中 *  * @author Administrator *  */public class SDUtils {private String file; // 设置文件存放路径private String fileName; // 存放文件名称private Context context; // 获取到Context 上下文private int rawid; // 资源文件ID ,需要COPY 的文件private String DATABASE_PATH = "";private String DATABASE_NAME = "";public String getFile() {return file;}public void setFile(String file) {this.file = file;this.DATABASE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + file;}public String getFileName() {return fileName;}public void setFileName(String fileName) {this.fileName = fileName;this.DATABASE_NAME = fileName;}public int getRawid() {return rawid;}public void setRawid(int rawid) {this.rawid = rawid;}public SDUtils() {}/** *  * @param file *            文件夹例如: aa/bb * @param fileName *            文件名 * @param context *            上下文 * @param rawid *            资源ID */public SDUtils(String file, String fileName, Context context, int rawid) {super();this.file = file;this.fileName = fileName;this.context = context;this.rawid = rawid;this.DATABASE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + file;this.DATABASE_NAME = fileName;}/** * 将文件复制到SD卡,并返回该文件对应的数据库对象 *  * @return * @throws IOException */public SQLiteDatabase getSQLiteDatabase() throws IOException {// 首先判断该目录下的文件夹是否存在File dir = new File(DATABASE_PATH);String filename1 = DATABASE_PATH + "/" + DATABASE_NAME;if (!dir.exists()) {// 文件夹不存在 , 则创建文件夹dir.mkdirs();}// 判断目标文件是否存在File file1 = new File(dir, DATABASE_NAME);if (!file1.exists()) {Log.i("msg", "没有文件,开始创建");file1.createNewFile(); // 创建文件}Log.i("msg", "准备开始进行文件的复制");// 开始进行文件的复制InputStream input = context.getResources().openRawResource(rawid); // 获取资源文件raw// 标号try {FileOutputStream out = new FileOutputStream(file1); // 文件输出流、用于将文件写到SD卡中// -- 从内存出去byte[] buffer = new byte[1024];int len = 0;while ((len = (input.read(buffer))) != -1) { // 读取文件,-- 进到内存out.write(buffer, 0, len); // 写入数据 ,-- 从内存出}input.close();out.close(); // 关闭流SQLiteDatabase sqlitDatabase = SQLiteDatabase.openOrCreateDatabase(filename1, null);return sqlitDatabase;} catch (Exception e) {e.printStackTrace();}return null;}}
  • coptFileToSD.rar (1.5 MB)
  • 下载次数: 12

更多相关文章

  1. Android 上传文件[转]
  2. android 之 读取本地json文件返回string
  3. android中利用pull解析xml文件
  4. Memory Analyzer(MAT)打开android eclipse Dump内存文件出现 Unkno
  5. Android文件读写包含SDCard
  6. android 按纽状态配置文件
  7. Android Dialog 创建上下文菜单
  8. Android ContextMenu上下文菜单

随机推荐

  1. Android短信拦截解决方案
  2. API 23 找不到 org.apache.http.HttpResp
  3. 安卓开发-HttpClient使用
  4. Android(安卓)Application Development,
  5. CaysnPrinter开发包接口说明文档 - Print
  6. android 发送短信,彩信,邮件代码
  7. Android(安卓)无法接收开机广播的问题
  8. android 服务
  9. Android下拉列表控件spinner-andoid学习
  10. Android(安卓)Dialog自定义宽高