Τα επιχειρήματα της γραμμής εντολών μπορούν να είναι ένας τρόπος καθορισμού ιδιοτήτων διαμόρφωσης για μια εφαρμογή και η Java δεν διαφέρει. Αντί να κάνετε κλικ σε ένα εικονίδιο εφαρμογής από το λειτουργικό σύστημα, μπορείτε να εκτελέσετε το Ιάβα από ένα παράθυρο τερματικού. Μαζί με το όνομα της εφαρμογής, μπορούν να ακολουθήσουν μια σειρά από επιχειρήματα τα οποία στη συνέχεια μεταβιβάζονται στο σημείο εκκίνησης της εφαρμογής (δηλαδή, η κύρια μέθοδος, στην περίπτωση της Java).
Για παράδειγμα, NetBeans έχει έναν αριθμό παραμέτρων εκκίνησης που μπορούν να μεταφερθούν στην εφαρμογή όταν εκτελείται από ένα παράθυρο τερματικού (π.χ.,
καθορίζει μια έκδοση του JDK που θα χρησιμοποιηθεί αντί για το προεπιλεγμένο JDK που σχετίζεται με την εφαρμογή NetBeans).
Η κύρια μέθοδος
Ας εξετάσουμε το κύρια μέθοδος για να δείτε πού εμφανίζονται τα επιχειρήματα που υποβλήθηκαν σε μια εφαρμογή:
Τα επιχειρήματα της γραμμής εντολών βρίσκονται στο
που ονομάζεται
Για παράδειγμα, ας εξετάσουμε μια εφαρμογή που ονομάζεται
του οποίου η μόνη ενέργεια είναι να εκτυπώσει τα επιχειρήματα της γραμμής εντολών που διαβιβάστηκαν σε αυτήν:
δημόσια τάξη CommandLineArgs {
δημόσιο static κενό main (String [] args) {
// Ελέγξτε αν ο πίνακας συμβολοσειρών είναι άδειος
αν (args.length == 0)
{
System.out.println ("Δεν υπήρξαν παραβιάσεις γραμμών εντολών!");
}
// Για κάθε συμβολοσειρά στη συστοιχία στοιχειοσειρών
// εκτυπώστε το String.
για (Αρχείο συμβολοσειρών: args)
{
System.out.println (όρισμα);
}
}
}
Σύνταξη των επιχειρημάτων γραμμής εντολών
Ο μηχανισμός εκτέλεσης Java (JRE) αναμένει ότι τα επιχειρήματα θα πρέπει να περάσουν μετά από μια συγκεκριμένη σύνταξη, όπως π.χ.:
java ΌνομαΑφαρμογή τιμής1 τιμή2
Πάνω, η "java" επικαλείται το JRE, το οποίο ακολουθείται από το όνομα του προγράμματος που καλείτε. Αυτά ακολουθούνται από οποιαδήποτε επιχειρήματα για το πρόγραμμα. Δεν υπάρχει όριο στον αριθμό των επιχειρημάτων που μπορεί να λάβει ένα πρόγραμμα, αλλά η σειρά είναι κρίσιμη. Το JRE διαβιβάζει τα επιχειρήματα με τη σειρά με την οποία εμφανίζονται στη γραμμή εντολών. Για παράδειγμα, εξετάστε αυτό το απόσπασμα κώδικα από παραπάνω:
δημόσια τάξη CommandLineArgs2 {
δημόσιο static κενό main (String [] args) {
αν (args.length == 0)
{
System.out.println ("Δεν υπήρξαν παραβιάσεις γραμμών εντολών!");
}
Όταν τα παράπονα μεταβιβάζονται σε ένα πρόγραμμα Java, το args [0] είναι το πρώτο στοιχείο του πίνακα (τιμή1 παραπάνω), το args [1] είναι το δεύτερο στοιχείο (value2) κ.ο.κ. Ο κώδικας args.length () ορίζει το μήκος του πίνακα.
Περαίωση επιχειρημάτων γραμμής εντολών
Στο NetBeans, μπορούμε να περάσουμε επιχειρήματα γραμμής εντολών χωρίς να χρειαστεί να χτίσουμε την εφαρμογή και να την εκτελέσουμε από ένα παράθυρο τερματικού. Για να καθορίσετε τα επιχειρήματα γραμμής εντολών:
- Κάντε δεξί κλικ στο φάκελο του έργου στο
Εργα
παράθυρο. - Επιλέξτε το
Ιδιότητες
επιλογή για άνοιγμαΙδιότητες έργου
παράθυρο. - Στο
Κατηγορίες
στη δεξιά πλευρά, επιλέξτεΤρέξιμο
- Στο
Επιχειρήματα
που εμφανίζεται, καθορίστε τα επιχειρήματα γραμμής εντολών που θέλετε να μεταβιβάσετε στην εφαρμογή. Για παράδειγμα, αν εισέλθουμεΜπανάνα καρότο της Apple
στοΕπιχειρήματα
textbox και εκτελέστε τοCommandLineArgs
που αναφέρονται παραπάνω, θα έχουμε το αποτέλεσμα:
Ανάλυση των επιχειρημάτων γραμμής εντολών
Συνήθως, ένα όρισμα γραμμής εντολών διαβιβάζεται με κάποιες πληροφορίες σχετικά με το τι πρέπει να κάνει με την τιμή που περνάει. Το επιχείρημα που ενημερώνει την εφαρμογή για το ποιο είναι το επιχείρημα για το τυπικά έχει ένα παύλα ή δύο πριν το όνομά του. Για παράδειγμα, το παράδειγμα NetBeans για την παράμετρο εκκίνησης που καθορίζει τη διαδρομή JDK είναι
Αυτό σημαίνει ότι θα πρέπει να αναλύσετε τα επιχειρήματα της γραμμής εντολών για να καταλάβετε τι πρέπει να κάνετε με τις τιμές. Υπάρχουν διάφορα πλαίσια γραμμής εντολών Java για την ανάλυση επιχειρημάτων γραμμής εντολών. Ή θα μπορούσατε να γράψετε έναν απλό αναλυτή γραμμής εντολών εάν τα επιχειρήματα που πρέπει να περάσετε δεν είναι τόσο πολλά:
ο κώδικας πάνω είτε εκτυπώνει τα επιχειρήματα είτε τα προσθέτει μαζί εάν είναι ακέραιοι. Για παράδειγμα, αυτό το επιχείρημα γραμμής εντολών θα προσθέσει τους αριθμούς:
java CommandLineArgs - αύξοντες αριθμοί 11 22 33 44