我用自己编辑好的sqlite数据库文件,里面包含有数据,我把数据库文件放在raw文件(文件大小超过1M)里,按照网络上的方法使用流写到sdcard上面,试了一天试不成功,每次复制到sdcard上文件就是0字节了,求在这方面有经验的高手帮助!!!private SQLiteDatabase openDatabase() {
try {
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
InputStream is =getResources().openRawResource(R.raw.nationexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
} fos.close();
is.close();
}
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
} catch (Exception e) {
}
return null;
}
try {
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
InputStream is =getResources().openRawResource(R.raw.nationexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
} fos.close();
is.close();
}
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
databaseFilename, null);
return database;
} catch (Exception e) {
}
return null;
}
我想靠代码来实现的,在程序安装后,第一次启动,将数据库文件复制到手机sdcard上
InputStream is =getResources().openRawResource(R.raw.nationexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
int len=0;
while(true){
byte[] datas = new byte[1024];
len = is.read(datas,0,1024);
if(len<=0){
break;
}else{
fos.write(datas, 0, len);
fos.flush();
}
}
试试这样...