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;
}
}
分享到:
相关推荐
文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar
Android 中获取Assets目录下的文件和子目录下的文件,获取raw文件夹下的文件
Android高级应用源码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.zip
在android应用播放raw文件中的音乐,支持raw,mp3等格式
源码参考,欢迎下载
Android 使用MediaPlayer播放assets或者raw目录的音频文件 https://blog.csdn.net/qq_31939617/article/details/80491552
android读取raw和assets下资源文件demo,运行ok,供快速掌握读取R.raw.**或者保存在assets下的文件的内容
文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android 使用mediaplayer播放res/raw文件夹中的音乐的实例 (1)在res文件夹中新建一个文件夹重命名为raw,并且将要播放的音乐放到raw文件夹里面 (2)修改layout目录下的xml布局文件,添加3个按钮空间和一个文本...
raw文件用matlab读取读取和写入raw格式图像,此格式图像文件存储一幅图中的全部像素点,并以每个像素点16bit数据保存
android编程实现: 1、在res目录下建立raw...2、在您的手机相册目录下(即:DCIM目录)新建两文本文件,分别命名为a1.txt和a2.txt,并将raw目录下的a1.txt和assets目录下a2.txt文件的文本内容复制到新建的同名文件中。
raw文件转换工具
Android Resource工具类,可用于从android资源目录的raw和assets目录读取内容,如: geFileFromAssets(Context context, String fileName) 得到assets目录下某个文件内容 geFileFromRaw(Context context, int resId)...
用于加载包括其他apk中的资源(raw,layout,drawable,values/strings,colors) 加载其他APK的资源,如果找不到就加载本地资源
安卓读取raw下txt文件。
android之文件操作——读取assets和raw文件下的内容 1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字为raw的文件夹) 2.创建两个txt文件,复制到asset和raw文件夹中:...
手机内存卡RAW无法格式化的解决办法
标准无头raw转通用dcm工具,需要源码或者原理(少量费用)的私信我
C# .resources资源文件编辑和对比工具,能对这种格式的文件进行新建、编辑,增加资源条目、修改资源取值,比对资源的缺失和差异。能同时操作字符串、图像、图标、声音、raw格式