wo datei für filereader ablegen?

Fisheye21

Mitglied
Java:
 wo datei für filereader ablegen?
Ich habe ein java projekt und muss eine yml datei einlesen (via BufferedReader in = new BufferedReader(new FileReader("gs.yml"));

wo lege ich diese gs.yml ab wenn ich das compilierte projekt habe? im gleichen ordner wie die jar wird sie nicht gefunden trotz richtiger zugriffsberechtigungen...

MFG Marcel
 
In dem Ausführungsverzeichnis deines Programms.

Wenn du es mit einer BAT Datei startest, dann ist das Ausführungsverzeichnis das Verzeichnis der BAT Datei.

Mach doch eine Logausgabe: Suche Datei in ""..
Code:
Mit System.out.println(new File("").getAbsolutPath);
 
müsste funktionieren, wenn die xml mit der jar-datei in einem verzeichnis liegt. vorausgesetzt ist der richtige classpath. wie hast du den denn in der manifest.mf gesetzt?

probiers mal so:
Code:
java -jar -cp . DeineJarDatei.jar

edit: ansonsten muss natürlich dein current directory dem der jar-datei entsprechen (s. Marcinek)
 
Hallo
danke schonmal für die antworten.
Meine datei liegt im gleichen ordner wie die jar und wird so gelesen (bzw soll)

Java:
BufferedReader in = new BufferedReader(new FileReader("gs.yml"));

trotzdem gibts nen fehler dass die datei angeblich nicht vorhanden sei.
das ganze läuft über nen linux system und die zugriffsrechte habe ich auch schon angepasst. das kann es nicht sein ;(
 
Was wird denn ausgegeben, wenn du
Java:
System.out.println(new File("").getAbsolutPath());
machst? In den Ordner musst du dann auch deine Datei legen! Du könntest die Datei auch zu den Classfiles tun und dann über
Java:
DeineKlassse.class.getResource("Pfad/zu/deiner/Datei.yml")
an das File gelangen!
Dann müsstest du so eine Struktur haben:
Code:
bin/package/DeineKlasse.class // Hier ist also die Class-Datei
Code:
bin/package/Datei.yml
// Hier liegt dann deine Datei, zur Besseren Übersicht kannst du sie auch noch in einen Ordner tun...
 
Zuletzt bearbeitet von einem Moderator:
Java:
                    //Datei einlesen
                    try {
                	BufferedReader in = new BufferedReader(new FileReader("gs.yml"));
                        	
                        System.out.println(new File("").getAbsolutePath);
                        String zeile = null;
                	while ((zeile = in.readLine()) != null) {
			System.out.println("Gelesene Zeile: " + zeile);
                	}
                       } catch (IOException e) {
                        e.printStackTrace();
                         }

Das ist mein jetziger Quellcode.
das getAbsolutePath bzw getAbsolutPath wird mir als Fehler angekreidet.. (cannot find symbol)...
 
Hast du es schon mal mit () versucht? getAbsolutePath ist eine Methode, also brauchst du noch KLammern!

...Na toll, ich habs ja sogar falsch vorgemaht, sorry 😳
 
Ok ich glaub ich weiss worauf du hinaus willst:
die java datei ist ein plugin. wird also von einer anderen javadatei die 2 ordner höher liegt aufgerufen.
muss ich also von der anderen javadatei den Pfad zur textdatei angeben?
wenn ich zu hause bin teste ich das mal.

Mit freundlichen Grüßen
Marcel
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Zurück
Oben