Zuhause Persönliche Finanzen Befehlszeilenargumente in Java - Dummies

Befehlszeilenargumente in Java - Dummies

Inhaltsverzeichnis:

Video: Java Break - Plumbing Barista with Custom BBj 2024

Video: Java Break - Plumbing Barista with Custom BBj 2024
Anonim

Die meisten Java-Programmierer benutzten einst eine textbasierte Entwicklungsschnittstelle. Sie tippten einen Befehl in ein unscheinbares Fenster, normalerweise mit weißem Text auf schwarzem Hintergrund.

Wie langweilig!

Das einfach aussehende Fenster zeigt die verschiedenen Namen an, je nachdem, welches Betriebssystem Sie verwenden. In Windows ist ein solches Textfenster ein Eingabeaufforderungsfenster. Auf einem Macintosh und unter Linux ist dieses Fenster das Terminal. Einige Versionen von Linux und UNIX nennen dieses Fenster eine Shell.

Wie auch immer, in alten Zeiten konnten Sie ein Programm schreiben, das zusätzliche Informationen aufnahm, wenn Sie den Befehl zum Starten des Programms eingaben.

Wenn Sie MakeRandomNumsFile starten, geben Sie einige zusätzliche Informationen ein.

Im obigen Bild gibt der Programmierer Java MakeRandomNumsFile ein, um das Programm MakeRandomNumsFile auszuführen. Aber der Programmierer folgt Java MakeRandomNumsFile mit zwei zusätzlichen Informationen: MyNumberedFile. txt und 5 . Wenn das Programm MakeRandomNumsFile ausgeführt wird, saugt das Programm zwei zusätzliche Informationen ab und verwendet sie, um das zu tun, was das Programm tun soll. Das Programm saugt MyNumberedFile ab. txt 5 , aber bei einer anderen Gelegenheit könnte der Programmierer SomeStuff 28 oder BunchNumbers 2000 eingeben. Die zusätzlichen Informationen können bei jedem Ausführen des Programms unterschiedlich sein.

Die nächste Frage lautet: "Woher weiß ein Java-Programm, dass es jedes Mal zusätzliche Informationen verschlingen soll? "Seit Sie anfingen, mit Java zu arbeiten, haben Sie dieses String args [] Geschäft im Header jeder main Methode gesehen. Nun, es ist höchste Zeit, herauszufinden, worum es geht. Der Parameter args [] ist ein Array von String -Werten. Diese String -Werte werden als Befehlszeilenargumente bezeichnet.

Einige Programmierer schreiben

public static void main (String args [] )

und andere Programmierer schreiben

public static void main (String [] args)

In beiden Fällen ist args ein Array von String -Werten.

Befehlszeilenargumente in einem Java-Programm verwenden

Dieses Codebit zeigt Ihnen, wie Sie Befehlszeilenargumente verwenden.

So generieren Sie eine Datei mit Zahlen

Java importieren. Nutz. Zufällig;

importiert Java. io. DruckStream;

importiert Java. io. IOException;

public class MakeRandomNumsFile {

public static void main (Zeichenfolge args [] ) löst IOException aus {

Zufallsgenerator = new Random ();

if (Argumente.Länge <2) {

System. aus. println ("Usage: MakeRandomNumsFile-Dateinamennummer");

System. Ausgang (1);

}

PrintStream printOut = neuer PrintStream (args [0]);

int numLines = Ganzzahl. parseInt (args [1]);

für (int count = 1; count <= numLines; count ++) {

printOut. println (Generator. nextInt (10) + 1);

}

printOut. schließen();

}

}

Wenn ein bestimmtes Programm einige Befehlszeilenargumente erwartet, können Sie das Programm nicht so starten, wie Sie die meisten anderen normalen Programme starten würden. Die Art und Weise, wie Sie Befehlszeilenargumente an ein Programm übergeben, hängt von der IDE ab, die Sie verwenden - Eclipse, NetBeans oder was auch immer. Allmycode. com enthält Anweisungen zum Einfügen von Argumenten in Programme, die verschiedene IDEs verwenden.

Wenn der Code ausgeführt wird, erhält das Array args seine Werte. Mit dem oben gezeigten Lauf nimmt die Array-Komponente args [0] automatisch den Wert "MyNumberedFile. Txt" und args [1] wird automatisch "5" . So haben die Zuweisungsanweisungen des Programms die folgende Bedeutung:

PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");

int numLines = Ganzzahl. parseInt ("5");

Das Programm erstellt eine Datei namens MyNumberedFile. txt und setzt numLines auf 5 . Später im Code erzeugt das Programm zufällig fünf Werte und gibt diese Werte in MyNumberedFile ein. txt . Ein Lauf des Programms gibt Ihnen dies.

Nach dem Ausführen des Codes finden Sie die neue Datei ( MyNumberedFile. Txt ) auf Ihrer Festplatte. Die Antwort hängt von vielen verschiedenen Dingen ab. Wenn Sie eine IDE mit Programmen verwenden, die in Projekte unterteilt sind, befindet sich die neue Datei irgendwo im Ordner des Projekts. Auf die eine oder andere Weise können Sie Listing 11-7 so ändern, dass ein vollständiger Pfadname angegeben wird - ein Name wie "c: \ Benutzer \ MyName \ Dokumente \ MyNumberedFile. Txt" oder "/ Benutzer / MyName / Dokumente / MyNumberedFile. Txt" .

Windows-Dateipfadnamen enthalten Backslash-Zeichen. Wenn Sie in Java einen Backslash innerhalb eines String-Literal mit doppelten Anführungszeichen angeben möchten, verwenden Sie stattdessen einen doppelten Backslash. Das ist warum "C: \ Benutzer \ MyName \ Dokumente \ MyNumberedFile. txt "enthält Backslash-Paare. Im Gegensatz dazu enthalten Dateipfade in den Linux- und Macintosh-Betriebssystemen Schrägstriche. Verwenden Sie nur einen Schrägstrich, um einen Schrägstrich in einem Java-String anzugeben.

Beachten Sie, wie jedes Befehlszeilenargument ein String Wert ist. Wenn Sie sich args [1] ansehen, sehen Sie nicht die Zahl 5 - Sie sehen die Zeichenfolge "5" mit einem Ziffernzeichen darin. Leider können Sie dieses "5" nicht zum Zählen verwenden. Um einen Wert int von "5" zu erhalten, müssen Sie die Methode parseInt anwenden.

Die parseInt -Methode befindet sich in einer Klasse namens Integer. Um also parseInt aufzurufen, müssen Sie dem Namen parseInt das Wort Integer voranstellen. Die Integer -Klasse verfügt über alle möglichen praktischen Methoden, um Dinge mit int -Werten auszuführen.

In Java ist Integer der Name einer Klasse und int ist der Name eines primitiven (einfachen) Typs. Die zwei Dinge sind verwandt, aber sie sind nicht dasselbe. Die Integer -Klasse verfügt über Methoden und andere Tools zum Umgang mit int -Werten.

Überprüfung der richtigen Anzahl von Befehlszeilenargumenten

Was passiert, wenn der Benutzer einen Fehler macht? Was passiert, wenn der Benutzer vergisst, die Nummer 5 in der ersten Zeile w einzugeben, wenn Sie MakeRandomNumsFile starten?

Dann weist der Computer "MyNumberedFile.txt" zu args [0] zu, aber er weist args [1] nichts zu. Das ist schlecht. Wenn der Computer jemals die Anweisung

int numLines = Integer erreicht. parseInt (args [1]);

Das Programm stürzt mit einer unfreundlichen ArrayIndexOutOfBoundsException ab.

Was machst du damit? Sie überprüfen die Länge des Arrays args . Sie vergleichen args. Länge mit 2 . Wenn das Array args weniger als zwei Komponenten enthält, zeigen Sie eine Meldung auf dem Bildschirm an und beenden das Programm.

Der Code sagt Ihnen, wie Sie es ausführen.

Trotz der Überprüfung von args. Länge , der Code ist immer noch nicht crashsicher. Wenn der Benutzer fünf statt fünf eingibt, nimmt das Programm einen Sturzflug mit einer NumberFormatException vor. Das zweite Befehlszeilenargument darf kein Wort sein. Das Argument muss eine Zahl (und eine ganze Zahl) sein. Sie können Anweisungen hinzufügen, um den Code kugelsicherer zu machen.

Wenn Sie mit Befehlszeilenargumenten arbeiten, können Sie einen String -Wert mit einem Leerzeichen eingeben. Schließen Sie den Wert einfach in doppelte Anführungszeichen ein. Zum Beispiel können Sie den obigen Code mit den Argumenten "My Big Fat File. Txt" 7 ausführen.

Befehlszeilenargumente in Java - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...