Per Konsolenparameter andere Datei einlesen

raz0light

Grünschnabel
Sehr geehrte Damen und Herren,

Ich soll für eine Aufgabe eine Datei einlesen. Das klappt. Allerdings soll der Code eine andere Datei einlesen, wenn man als Parameter "map.txt" eingibt.
Also wenn man "java Spiel" eingibt soll es das normale Spielfeld einlesen, und wenn man "java Spiel map.txt" eingibt, soll das map.txt Spielfeld geladen werden.

Das normale Spielfeld kann eingelesen werden, aber das mit dem zusätzlichen Eingabe bekomm ich nicht ganz auf die Kette.


Java:
public class Sokoban {
    public static void main(String[]args) throws IOException {
       
        BufferedReader br = Files.newBufferedReader(Paths.get("sokoban.txt"));
        String line = null;
        int spielfeldbreite = 0;
        int spielfeldhoehe = 0;
        while ((line = br.readLine()) != null) {                                   
            spielfeldbreite = line.length();
            spielfeldhoehe++;                                                       
        }
        br.close();
        Scanner scan = new Scanner(System.in);
        String eingabe;   
        int playerX = 0;
        int playerY = 0;
        boolean exit = false;
        char[][] room = new char[spielfeldbreite][spielfeldhoehe];                     
        br = Files.newBufferedReader(Paths.get("sokoban.txt"))
            ||br = Files.newBufferedReader(Paths.get(args[]));
        line = null;
}
-mehr Code-
 

sheel

I love Asm
Hi

sowas?
Java:
  public static void main(String[]args) throws IOException {
        String filename = "sokoban.txt";
        if(args.length > 0) filename = args[0];

        BufferedReader br = Files.newBufferedReader(Paths.get(filename));