Mit command-line-argument für die übergabe von Dateien an ein Programm
Wie kann ich eine Datei als Kommandozeilen-argument?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie kann ich eine Datei als Kommandozeilen-argument?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur den Pfad der Datei übergeben wird, in Ihrem Programm, verwenden Sie die Java-Datei der Klasse zu behandeln, es
Dieser nimmt den ersten parameter als Datei-Pfad:
in Java, die
main
Methode erhält ein array von Strings als argument, wie Sie vermutlich bemerkt haben. Sie können einen anderen Namen geben, um die parameterargs
, aber dies ist die am häufigsten verwendete man.array
args
enthält die Werte, was der Benutzer eingegeben hat, wenn Sie starten Sie Ihr Programm, nachdem Sie den Namen der Klasse. beispielsweise führen Sie eine Klasse mit dem Namen Foo, muss der Benutzer Typ:alles, was der Benutzer eingibt, nach der der name der Klasse als parameter. zum Beispiel:
nun Ihr Programm erhalten hat zwei Parameter: bar und baz. diese Parameter werden in dem array gespeichert
args
. als reguläre Java-array ist der erste parameter können abgerufen werden durch den Zugriff aufargs[0]
, der zweite parameter die abgefragt werden können, die durch den Zugriff aufargs[1]
, und so weiter. wenn Sie versuchen, auf eine ungültige position (wenn der Benutzer nicht geben Sie, was Sie erwartet), hat diese Aussage wirft einenArrayIndexOutOfBoundsException
, wie wäre es mit einem array. Sie können überprüfen, wie viele Parameter eingegeben wurden, mitargs.length
.so, zurück zu deiner Frage. der Nutzer informieren kann, der einen Dateinamen als Kommandozeilen-parameter und können Sie Lesen, dass Wert durch das argument der
main
Methode, in der Regel alsargs
. Sie haben zu prüfen, ob er wirklich etwas geschrieben, die als argument (überprüfung der array-Länge), und wenn es ok ist, Sie Zugangargs[0]
zu Lesen, was er eingegeben. dann können Sie erstellen eineFile
- Objekt auf diese Zeichenfolge, und tun, was Sie wollen zu tun. überprüfen Sie immer, wenn der Benutzer eingetippt hat, die Anzahl der Parameter, die Sie erwarten, andernfalls bekommen Sie eine exception beim Zugriff auf das array.hier ist ein komplettes Beispiel für die Verwendung von command-line-Parameter:
diese Klasse analysiert die Parameter, informiert den Benutzer. wenn er nicht nichts eingeben, wird die Klasse drucken die Meldung "keine Argumente gegeben wurden." wenn er informiert beliebigen Anzahl von Parametern, werden diese Parameter werden auf dem Bildschirm angezeigt werden. so läuft diese Klasse mit den beiden Beispielen, die ich gegeben habe, auf diese Antwort, die Ausgabe wäre:
Meiner Meinung nach, beste Praxis, um zu versuchen, um zu erkennen, args == 0 und zurückgeben einer Liste der Hilfe-Befehle auf, wie Sie das Programm verwenden, wenn keine Argumente bereitgestellt werden.
Sah ich ein paar andere Lösungen, aber ich denke, Sie wird nicht funktionieren, wenn Sie. Geben Sie zum Beispiel
C:\Program Files\file.dat
als Kommandozeilen-argument. Dann wird es nicht funktionieren, da Sie nurargs[0]
beim erstellen einer neuen Datei.So sollten Sie wirklich etwas tun, wie die folgenden, fügen Sie alle Teile der das gegebene argument, und stellen Sie dann eine Datei aus es:
Ich arbeite derzeit an einem ähnlichen problem, und das scheint, den trick zu tun.