Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Java Runtime Exec Tutorial

τάξη της Java Runtime παρέχει πρόσβαση στο runtime περιβάλλον στο οποίο εκτελείται η εφαρμογή . Μέθοδοι εκτέλεσης του exec σας επιτρέπουν να εκτελέσετε εξωτερικά προγράμματα από μια εφαρμογή Java . Εκτέλεση εξωτερικές εφαρμογές μέσα σε μια εφαρμογή Java σας επιτρέπει να ανοίξετε μια ιστοσελίδα σε ένα πρόγραμμα περιήγησης , αλληλεπιδρούν με βοηθητικά προγράμματα λειτουργικού συστήματος ή να ξεκινήσει ένα παράθυρο κονσόλας . Πάρτε τις εφαρμογές Runtime Environment
Η

Όλα Java έχουν μια παρουσία του runtime περιβάλλον . Χρησιμοποιήστε τη μέθοδο εκτέλεσης του getRuntime ( ) για να αποκτήσετε πρόσβαση σε αυτό το αντικείμενο . Για παράδειγμα :

χρόνου rt = Runtime.getRuntime ( ) ?
Εικόνων Εκτελέστε μια εξωτερική εφαρμογή
Η

Runtime προσφέρει διάφορους τρόπους για να καλέσετε τον exec μέθοδο , η οποία επιστρέφει ένα αντικείμενο της διαδικασίας . Ο απλούστερος τρόπος για να εκτελέσει μια εξωτερική εφαρμογή είναι η μέθοδος εκτέλεσης exec (εντολή String ) , όπου " εντολή" είναι η γραμμή εντολών που εκτελεί την εφαρμογή . Η ακόλουθη πρόσκληση εκτελεί το "ls " εντολή για να πάρετε μια λίστα καταλόγου για τον κατάλογο root σε ένα σύστημα Linux ή Unix :

Διαδικασία p = rt.exec ( " ls /")?

η exec μέθοδος μπορεί επίσης να κληθεί με μια σειρά που περιέχει την εντολή και τα επιχειρήματά του , μεταβλητές περιβάλλοντος και τον κατάλογο εργασίας .

Η πάρετε πληροφορίες Διαδικασία
Η

η διαδικασία κλάση παρέχει πρόσβαση στο ρεύμα εισόδου , ​​ρεύμα εξόδου , ​​ρεύμα σφάλματος και την αξία εξόδου της εκτελεσθείσας διαδικασίας .

Η μέθοδος Process.getInputStream παρέχει πρόσβαση στη διαδικασία «πρότυπο ρεύμα εξόδου μέσω του ρεύματος εισόδου της εφαρμογής σας . Το ρεύμα θα πρέπει να ρυθμιστεί . Συνεχίζοντας το προηγούμενο παράδειγμα , ο παρακάτω κώδικας προσβάσεις την έξοδο από το " ls /" εντολή εκτυπώνει τα αποτελέσματα

InputStream istrm = p.getInputStream ()? . InputStreamReader istrmrdr = νέα InputStreamReader ( istrm ) ? BufferedReader buffrdr = νέα BufferedReader ( istrmrdr ) ?

String δεδομένων ? ενώ ( ( data = buffrdr.readLine ( ) ) = null ! ) { System.out.println (δεδομένα ) ? }

Ομοίως, μπορείτε μπορεί να συλλάβει το ρεύμα σφάλματος με τη χρήση της διαδικασίας « getErrorStream και χρησιμοποιώντας ένα ρυθμιστικό ρεύμα εισόδου για να χειριστεί τα δεδομένα . Η αίτησή σας μπορεί επίσης να στείλει δεδομένα στο ρεύμα εισόδου της διαδικασίας » μέσω του ρεύματος εξόδου της εφαρμογής σας . Χρήση της διαδικασίας «μέθοδος getOutputStream και μνήμη της τη ροή εξόδου .
Εικόνων Έξοδος
Η

Αιχμαλωτίστε την τιμή εξόδου της διαδικασίας με τη χρήση της διαδικασίας « μέθοδος exitValue να διαπιστωθεί εάν αποχωρήσει κανονικά . Βεβαιωθείτε ότι η διαδικασία έχει εξέλθει από τη χρήση της διαδικασίας «μέθοδος waitFor να προκαλέσει το τρέχον νήμα να περιμένει για την διαδικασία για να βγείτε . Για παράδειγμα , να συλλάβει την αξία εξόδου σε μια μεταβλητή , η οποία μπορεί να χρησιμοποιηθεί αργότερα για τη λήψη αποφάσεων σχετικά με το πώς η αίτησή σας θα προχωρήσει :

int ev = 0 ? Εάν ( p.waitFor ( ) = 0 ! ) { Ev = p.exitValue ( ) ? }

Μια διαδικασία μπορεί να θανατωθούν με χρήση της Διαδικασίας «καταστροφή μέθοδος
εικόνων Εκτιμήσεις
Η

Java 5 εισήγαγε την κατηγορία ProcessBuilder να αντικαταστήσει Runtime.exec . ProcessBuilder καθιστά ευκολότερο να προσαρμόσετε τη διαδικασία , και παρέχει καλύτερο έλεγχο την έναρξη της διαδικασίας .
Εικόνων Προειδοποιήσεις
Η

Ένα από τα κύρια χαρακτηριστικά της γλώσσας προγραμματισμού Java είναι η φορητότητά του σε πολλαπλές πλατφόρμες πληροφορικής . Κλήση εξωτερικών διαδικασιών που είναι ειδικά για ένα συγκεκριμένο λειτουργικό σύστημα διατηρεί την αίτησή σας από το να είναι φορητό . Αποφύγετε τη χρήση Runtime.exec όταν υπάρχει μια μέθοδος για την επίτευξη του ίδιου στόχου στη γλώσσα Java
Η
εικόνων .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα