Du bist nicht angemeldet.

#1 21.03.2020 15:35:21

Gering-ding-ding-ding-din
Gast

Java - Wie bekomme ich den Namen des laufenden Programms?

Hej Leute,

ich habe gerade begonnen, ein bischen Java zu lernen (ja, mit dem Inselbuch).

Da bin ich gerade bei sehr einfachen Programmen auf der Kommandozeile, welche einen passablen Usage-String nach stderr schreiben sollen, wenn z.B. die Anzahl der Kommandozeilenargumente nicht stimmt.

In C hab ich das z.B. immer so gemacht:

...
if (argc != 3) {
    fprintf(stderr, "Usage: %s <arg1> <arg2>\n", argv[0]);
    exit(EXIT_FAILURE);
}
...

Da steckt der Name des laufenden Programms im ersten Element des Argumentenvektors.

Bei Java ist das leider nicht so. Da ist args[0] bereits das erste Argument:

public class Stuff {
  public static void main(String[] args) {
    if (args.length != 2) {
      System.err.printf("Usage: %s <arg1> <arg2>%n", ??? );
      System.exit(1);
    }
    ...
  }
}

Wisst ihr manchmal, was ich anstelle der ??? schreiben muss, um den Namen des laufenden Programms zu bekommen (ohne den hard-zu-coden)?

#2 21.03.2020 22:04:48

Dirk
Moderator

Re: Java - Wie bekomme ich den Namen des laufenden Programms?

So was?

https://stackoverflow.com/questions/111 … ain-method

Erstes Google-Suchergebnis für java get name of currently running jar.

Offline

#3 31.03.2020 09:14:59

brikler
Mitglied

Re: Java - Wie bekomme ich den Namen des laufenden Programms?

mit get.Class().getName() könnte es gehen
http://openbook.rheinwerk-verlag.de/jav … 09_003.htm

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums