有没有办法在运行时将sqlite数据库从外部存储复制到资产然后再使用它?或者有没有办法在运行时将准备好的sqlite从外部存储器复制到路径下面,然后在应用程序中读取它? context.getDatabasepath
。我有复制过程的问题,请帮助我,因为我收到了这个错误:
无法打开文件
我的问题可能看似重复,但我无法找到答案。
public void copyDataBase() throws IOException
{
try
{
String inputDB = Environment.getExternalStorageDirectory().getPath() + "/test.sqlite" ;
File input = new File(inputDB);
InputStream myInput = new FileInputStream(input);
String outputFileName = databasePath + DATABASE_NAME ;
OutputStream myoutput = new FileOutputStream(outputFileName) ;
byte[] buffer = new byte[1024];
int length;
while((length = myInput.read(buffer))>0)
{
myoutput.write(buffer,0,length);
}
myoutput.flush();
myoutput.close();
myInput.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
我认为应首先打开文件然后将其提供给输入流,因为错误就像:无法打开文件。请帮我。