Dateizugriff

Java:
File f = new File("secmon.cfg");
System.out.println(f.getAbsolutePath());

Gibt mir folgendes aus:
C:\Dokumente und Einstellungen\TMA\Eigene Dateien\Eclipse_projects\SECMONv2\secmon.conf

Wenn ich es auf die Methode von Joschi70 mache, bekomme ich im Prinzip das selbe Ergebnis, nur dass die Leerzeichen mit "%20" gefüllt sind.
Kann es sein, dass Java mit beidem nicht richtig umgehen kann? Also Leerzeichen und/oder %20 im Pfad?

Fehlermeldung mit joschi70´s Methode:
java.io.FileNotFoundException: C:\Dokumente%20und%20Einstellungen\TMA\Eigene%20Dateien\Eclipse_projects\SECMONv2\bin\secmon.conf (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileReader.<init>(FileReader.java:55)
at FilesEinlesen.<init>(FilesEinlesen.java:16)
at Hauptfenster.<init>(Hauptfenster.java:17)
at Hauptfenster.main(Hauptfenster.java:216)
 
Hi,

kopier mal das File secmon.conf in den SECMONv2\bin Ordner.
Dann sollte das funktionieren.

Gruß
joschi
 
Ja. Es liegt ja schon die ganze Zeit dadrin, aber er findet es eben doch nicht!

58-Unbenannt.JPG


Und hier nochmal der Code dazu:
Java:
	FilesEinlesen() {
		try {
			File f = new File(this.getClass().getResource("/secmon.conf").getFile());
			//File f = new File("secmon.conf");
			System.out.println(f.getAbsolutePath());
			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) {	
			ioe.printStackTrace();
		}	
	}

Plus Fehlermeldung:
C:\Dokumente%20und%20Einstellungen\TMA\Eigene%20Dateien\Eclipse_projects\SECMONv2\bin\secmon.conf
java.io.FileNotFoundException: C:\Dokumente%20und%20Einstellungen\TMA\Eigene%20Dateien\Eclipse_projects\SECMONv2\bin\secmon.conf (Das System kann den angegebenen Pfad nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileReader.<init>(FileReader.java:55)
at FilesEinlesen.<init>(FilesEinlesen.java:16)
at Hauptfenster.<init>(Hauptfenster.java:17)
at Hauptfenster.main(Hauptfenster.java:216)

Bitte helft mir, ich hab keine Ahnung wo das Problem liegen könnte. :-(
 
Zuletzt bearbeitet:
Alles im Default-Package!

Hab meinen Workspace in ein anderes Verzeichnis verlagert, jetzt funktionierts. -echt komisch

//EDIT: Jop, es geht. :)
 
Zuletzt bearbeitet:
Hi,

ja danke, habs im Screenshot gesehen.
Leerzeichen scheinen ein Problem zu sein :confused:

Momentan fällt mir nix besseres ein, ist nicht schön aber sollte funktionieren.

Java:
File f = new File(this.getClass().getResource("/secmon.conf").getFile().replace("%20", " "));

Gruß
joschi
 
Hi,

so ist's vielleicht etwas sauberer:

Java:
File f = new File(URLDecoder.decode(this.getClass().getResource("/secmon.conf").getFile(), "UTF-8"));

Gruß
joschi
 
Zurück