Dateipfad als Parameter übergeben

vaults

Mitglied
Moin Leute,

ich habe eine Methode (einlesen) geschrieben, welche mir eine Textdatei einliest. Der Dateiname ist in der Methode hart codiert:

Java:
public static String einlesen() throws IOException, FileNotFoundException{
FileReader filereader = new FileReader("file.txt");
BufferedReader bufferedreader = new BufferedReader(filereader);
usw....
}

Danach folgen noch ein paar Methoden, welche die Datei manipulieren und schließlich seperat speichern.

In der main Methode rufe ich das ganze schlicht durch den Aufruf der Methode auf:

Java:
einlesen();

Nun möchte ich, dass ich über die Konsole den Dateipfad als Parameter übergebe. Ich habe es schon mit Data/File Input Stream versucht, scheint aber irgendwie nicht zu funktionieren.

Kann mir jemand bitte helfen ?

LG,
Alex
 
Zuletzt bearbeitet:
Die Parameter die über die Kommandozeile übergeben werden stehen im
Code:
String[] args
Parameter deiner
Code:
main
-Methode. Innerhalb der main-Methode würdest du also bspw. das hier machen:

Java:
if(args.length>0) {
   einlesen(args[0]);
}

Dann müsstest du nurnoch die methode einlesen so anpassen das sie den Dateinamen als Parameter erwartet.
 
Zuletzt bearbeitet:
Vaults
wie Schandro sagt du kannst via args[] oder
Java:
public static String einlesen(String path) throws IOException, FileNotFoundException{
     FileReader filereader = new FileReader(path+File.separatorChar+"file.txt");
     BufferedReader bufferedreader = new BufferedReader(filereader);
     usw....
}
du kannst auch den absolute path durch wie folgt selbst holen.
Java:
public String absPath(String filename) {
    return (new File("").getAbsolutePath())+File.separatorChar+filename;
}
Sorry for my German.
 
Moin Leute,

ich weiß zwar nicht warum, aber jetzt urplötzlich macht er es einfach, auch ohne FileStream und getPath.

Ich habe einfach die Methode einlesen in der Main Methode gesetzt:
Java:
einlesen(args[0])

und die Methode selber abgeändert:
Java:
public static String einlesen(String arg) throws IOException, FileNotFoundException{
FileReader filereader = new FileReader(arg); // Hier steht sonst hart der Dateiname z.B file.txt
BufferedReader bufferedreader = new BufferedReader(filereader);

Wenn ich jetzt in der Konsole eine beliebige Datei übergebe klappt es.

Danke und LG,
Alex
 

Zurück
Oben