Hallo zusammen!
Ich hab eine kleine Anwendung mit Hilfe von Eclipse erstellt. Die dabei anfallenden Daten kann der Benutzer (u.a.) in einer Access-Datenbank speichern. Hierfür liegt der Einfachheit halber im Projektpfad eine leere (Default-) Access-Datenbank, die zunächst in das vom Benutzer gewünschte Arbeitsverzeichnis kopiert und anschließend mit Daten gefüllt werden soll. Innerhalb Eclipse funktionier das alles soweit tadellos.
Das Problem:
Wenn ich ein jar-file erstelle, wird die Datenbank offenbar nicht mehr gefunden. Es kommt immer eine java.io.FileNotFoundException (Das System kann den angegebenen Pfad nicht finden)
Warum denn!? In Eclipse geht's doch auch!
Hier ist der relevante Code-Ausschnitt:
Vielen Dank schon vorab für jede Anregung.
Mit freundlichen Grüßen,
Matze2002
Ich hab eine kleine Anwendung mit Hilfe von Eclipse erstellt. Die dabei anfallenden Daten kann der Benutzer (u.a.) in einer Access-Datenbank speichern. Hierfür liegt der Einfachheit halber im Projektpfad eine leere (Default-) Access-Datenbank, die zunächst in das vom Benutzer gewünschte Arbeitsverzeichnis kopiert und anschließend mit Daten gefüllt werden soll. Innerhalb Eclipse funktionier das alles soweit tadellos.
Das Problem:
Wenn ich ein jar-file erstelle, wird die Datenbank offenbar nicht mehr gefunden. Es kommt immer eine java.io.FileNotFoundException (Das System kann den angegebenen Pfad nicht finden)
Warum denn!? In Eclipse geht's doch auch!
Hier ist der relevante Code-Ausschnitt:
Java:
...
File filePath = new File(path, "database.accdb"); //path ist der vom Benutzer ausgewählte Zielpfad für die Datenbank "database"
try {
if(!filePath.exists()) {
String sourceFile = new String("startup/database.accdb");
String targetFile = new String(path+"/database.accdb");
filePath.createNewFile();
CopyFile.copyFile(sourceFile, targetFile); //kopieren der Default-Datenbank ins Arbeitsverzeichnis
}
}
catch (IOException e) {
e.printStackTrace();
}
...
weiterer Ausschnitt:
public static void copyFile(String src, String dest) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream( src );
fos = new FileOutputStream( dest );
copy( fis, fos );
}
catch(IOException e) {
e.printStackTrace();
}
finally {
if(fis != null) {
try {
fis.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
if(fos != null) {
try {
fos.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
Vielen Dank schon vorab für jede Anregung.
Mit freundlichen Grüßen,
Matze2002
Zuletzt bearbeitet: