Hi Community,
ich wollte mal fragen ob jemand weis wie man aus dem assets Ordner eine Datenbank öffnet.
Alles was ich bis jetzt versucht habe ging irgendwie nicht.
Mein letzter versuch war die DB aus dem assets Ordner in eine neue erzeugte DB zu schreiben (also Datenbank kopieren wenn man so will).
das ist mein Code dazu:
Java
InputStream input = null;
try {
AssetManager assetManager = context.getAssets();
input = assetManager.open("towns(DE).sqlite");
} catch (IOException e1) {
// TODO Auto-generated catch block
Log.i(TAG,""+e1.getMessage());
e1.printStackTrace();
}
finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {}
}
}
//Open the empty db as the output stream
OutputStream myOutput = null;
try {
myOutput = new FileOutputStream(dbtown.getPath());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[3024];
int length;
try {
while ((length = input.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Close the streams
try {
myOutput.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myOutput.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
input.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Alles anzeigen
leider wirft die while schleife immer eine NullpointerException das das lesen auf die DB im assets Ordner nicht geht.
Vieleicht hat ja einer von euch eine Idee was ich machen könnte um mein Problem zu lösen.
Mfg Titus