C# 无法在数据库文件夹中创建文件
我正在尝试将现成的sqlite v3数据库从我的资产文件夹复制到我的应用程序的/databases文件夹中。但是我得到了一个java运行时异常C# 无法在数据库文件夹中创建文件,c#,android,sqlite,fileoutputstream,dot42,C#,Android,Sqlite,Fileoutputstream,Dot42,我正在尝试将现成的sqlite v3数据库从我的资产文件夹复制到我的应用程序的/databases文件夹中。但是我得到了一个java运行时异常 private const string DB_PATH = "/data/com.MyApp/databases/dbname"; public SQLiteDatabase GetDataBase() { SQLiteDatabase db = null; try
private const string DB_PATH = "/data/com.MyApp/databases/dbname";
public SQLiteDatabase GetDataBase()
{
SQLiteDatabase db = null;
try
{
db = SQLiteDatabase.OpenDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READONLY);
}
catch
{
this.GetReadableDatabase();
InputStream inStream = _appContext.GetAssets().Open("HadithCompanion.bukhari");
Helper.CreateFileFromInputStream(inStream, new File(DB_PATH));
db = SQLiteDatabase.OpenDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READONLY);
}
return db;
}
public static void CreateFileFromInputStream(InputStream inStream, File destination)
{
try
{
OutputStream outStream = new FileOutputStream(destination); // THIS CAUSES THE FAILURE
CopyFile(inStream, outStream);
}
catch (Exception ex)
{
Log.E("OutputStream", ex.Message);
}
}
捕获中未捕获异常。文件“/data/com.MyApp/databases/dbname”还不存在,通过阅读文档,我假设它将在实例化FileOutputStream时创建
我正在使用C#和dot42,并使用JellyBean 4.2在真实设备上进行测试