# Argument der Kommandozeile überprüfen



## matt89 (8. Jun 2011)

kann man einer main Methode was über geben?? und wie kann man das prüfen oder versteh ich da was falsch weil ich gerade gar nix von der aufgabenstellung versteh, bzw. ich weis schon wie ich es über prüfe ich vergleich halt mit null aber mit was??? also bei dem rot markierten komm ich ins schwanken

Die Erzeugung und initiale Befüllung der Play-Liste erfolgt in der
main-Methode der Applikation.
• Ändern Sie die main-Methode der Klasse Player so ab, dass ein Objekt der Klasse
PlayList erzeugt und in einer Variablen gespeichert wird.
• Prüfen Sie, ob der Anwendung auf der Kommandozeile ein Argument mitgegeben wurde.
Falls ja, greifen Sie auf dieses Argument zu und versuchen, mittels der Methode
loadFromM3U des PlayList-Objekts eine Play-Liste aus der Datei zu laden, deren Name
durch das Argument auf der Kommandozeile bezeichnet wird.


```
public static void main(String[] args) {
        PlayList liste= new PlayList();
        
        new Player(liste);
    }
```


----------



## Michael... (8. Jun 2011)

Wenn man Java Programme z.B. über die Kommandozeile aufruft, kann man diesen Argumente mit übergeben. Falls Argumente übergeben wurden, sind diese im String Array der main Methode enthalten. In diesem Fall in 
	
	
	
	





```
args
```


----------



## javaDev2011 (8. Jun 2011)

Hi,


```
liste.loadFromM3U(args[0]);
```

Nimm das erste (nullte) args-Element, das währe "test.m3u" wenn man dein Programm so aufruft:

```
java DeinProgramm test.m3u
```
(Dazu müsste halt eine Datei namens DeinProgramm.class im Verzeichniss vorligen.

Gruß javaDev2011


----------



## Miggel (9. Jun 2011)

Nachtrag:
Bevor die Methode aufgerufen wird, muss eben erst überprüft werden,
ob überhaupt ein Argument mitgegeben wurde.


```
if(args.length>0){
  liste.loadFromM3U(args[0]);
}
```


----------



## Crian (9. Jun 2011)

oder 


```
for (String argument : args){
   liste.loadFromM3U(argument);
}
```

um alle Kommandozeilenparameter abzuarbeiten.


----------

