Dateizugriff

starbuck86

Mitglied
Hallo Community.

Neuer Tag, neues Problem. :suspekt:

Für mein Programm habe ich mir eine Konfigurationsdatei ("secmon.cfg") geschrieben. Sie liegt im selben Verzeichnis wie die Class-Files des Programms, das die Konf. aufruft.
Allerdings klappt das ganze nicht so ganz wie ich es mir vorstelle.

Java:
	FilesEinlesen() {
		try {
			File f = new File("secmon.cfg"); // das hab ich schon mit '/' und ohne probiert
			FileReader fr1 = new FileReader(f);
			BufferedReader in1 = new BufferedReader(fr1);
			while ((db = in1.readLine()) != null) {
				if (db.contains("path")) {
					this.pfad = db.substring((db.indexOf("=")+1));
					System.out.println(this.pfad);
					break;
				}
			}
		} catch (IOException ioe) {	
			System.out.println(ioe);
		}	
	}

Leider bekomme ich bei jedem Aufruf die Exception geworden.

java.io.FileNotFoundException: secmon.cfg (Das System kann die angegebene Datei nicht finden)
java.io.FileNotFoundException: secmon.cfg (Das System kann die angegebene Datei nicht finden)
java.io.FileNotFoundException: secmon.cfg (Das System kann die angegebene Datei nicht finden)
java.io.FileNotFoundException: secmon.cfg (Das System kann die angegebene Datei nicht finden)
java.io.FileNotFoundException: secmon.cfg (Das System kann die angegebene Datei nicht finden)

Mache ich bei der Pfadangabe etwas falsch?
Bzw ich mache ja eigentlich gar keine Pfadangabe.

Wäre sehr dankbar für Denkanstöße && Gruß
Thomas
 
Also die Klasse, die ich grad beschrieben habe (den Konstruktor davon) mit einem Objektaufruf.
Java:
FilesEinlesen fes = new FilesEinlesen();
Dadurch soll der Pfad eingelesen werden. Und dann gibts da eben noch diverse Methoden, die diverse andere Dateien mit diesem bestimmten Pfad einlesen, aber nur aufgerufen werden, wenn ein Button einer anderen Klasse gedrückt wird.
 
Ich meinte dein JAVA-Programm allgemein *g*
Rufst du die Hauptklasse per Konsole auf? Benutzt du ein Jar? Oder eine IDE zum Starten?
Arbeitest du mit Packages?

Zudem gehört sowas auch nicht in den Konstruktor ;)
 
Achso ok. :)

Da habe ich mir noch nicht so viele Gedanken drüber gemacht, deswegen läuft das alles noch etwas -default- ab. Also alle Klassen liegen in dem gleichen Verzeichnis und ich rufe die Hauptklasse über die Konsole auf mit:

Code:
java -classpath /home/tma/java HauptFenster
 
Wenn du die Klasse so startest, kennt Java den Pfad zu deiner Datei nicht und will auf den pfad zugreifen, in dem du dich mit der Konsole befindest.
 
Was wäre denn eine alternative Lösung, die auf Windows als auch Linux PCs laufen würde?
Und wie mache ich es dann, wenn ich das Programm aus Eclipse heraus starte?
 
die exeption solltets du dir nicht mit system out angeben lassen sondern über
Java:
ioe.printStackTrace()
ist die zeilenangabe erst hinter dem erstellen des fileobjekts, kannst du dir mit
Java:
file.getAbsolutePath()
ausgeben lassen wo java das File wähnt.
 

Neue Beiträge

Zurück