שימוש בסלסול ב- Java

1. סקירה כללית

במדריך זה, נבחן כיצד להשתמש ב- סִלְסוּל כלי בתוך תוכנית Java.

סִלְסוּל הוא כלי רשת המשמש להעברת נתונים בין שרת ל- סִלְסוּל לָקוּחַ באמצעות פרוטוקולים כמו HTTP, FTP, TELNET ו- SCP.

2. שימוש בסיסי בתלתל

אנחנו יכולים להוציא לפועל סִלְסוּל פקודות מג'אווה באמצעות ProcessBuilder - מעמד עוזר לבניית מקרים של תהליך מעמד.

בואו נראה דוגמה לשליחת פקודות ישירות למערכת ההפעלה:

פקודת מחרוזת = "curl -X GET //postman-echo.com/get?foo1=bar1&foo2=bar2"; ProcessBuilder processBuilder = ProcessBuilder חדש (command.split ("")); 

ראשית, אנו יוצרים את פקודה משתנה לפני העברתו ל ProcessBuilder בַּנַאִי.

ראוי לציין כאן שאם ה סִלְסוּל הפעלה אינה נתיב המערכת שלנו, נצטרך לספק את הנתיב המלא שלה במחרוזת הפקודה שלנו.

לאחר מכן נוכל להגדיר את ספריית העבודה עבור ה- ProcessBuilder והתחל בתהליך:

processBuilder.directory (קובץ חדש ("/ home /")); תהליך תהליך = processBuilder.start (); 

מכאן ואילך נוכל להשיג את InputStream על ידי גישה אליו מה- תהליך למשל:

InputStream inputStream = process.getInputStream (); 

לאחר סיום העיבוד נוכל לקבל את קוד היציאה עם:

int exitCode = process.exitValue (); 

אם נצטרך להפעיל פקודות נוספות, נוכל לעשות שימוש חוזר ב- ProcessBuilder למשל על ידי העברת פקודות וטיעונים חדשים ב- חוּט מַעֲרָך:

processBuilder.command (מחרוזת חדשה [] {"curl", "-X", "GET", "// postman-echo.com?foo=bar"}); 

לבסוף, לסיים כל אחד מהם תהליך למשל, עלינו להשתמש ב:

process.destroy (); 

3. אלטרנטיבה פשוטה ל- ProcessBuilder

כחלופה לשימוש ב- ProcessBuilder בכיתה, אנחנו יכולים להשתמש Runtime.getRuntime () כדי לקבל מופע של תהליך מעמד.

בואו נראה דוגמא נוספת סִלְסוּל פקודה - הפעם באמצעות a הודעה בַּקָשָׁה:

תלתל -X POST //postman-echo.com/post - נתונים foo1 = bar1 & foo2 = bar2

כעת, בוא נבצע את הפקודה באמצעות ה- Runtime.getRuntime () שיטה:

פקודת מחרוזת = "curl -X POST //postman-echo.com/post --data foo1 = bar1 & foo2 = bar2"; תהליך תהליך = Runtime.getRuntime (). Exec (פקודה); 

ראשית, אנו יוצרים מופע של ה- תהליך בכיתה שוב, אך הפעם באמצעות Runtime.getRuntime (). אנחנו יכולים להשיג InputStream כמו בדוגמה הקודמת שלנו על ידי קריאת ה- getInputStream () שיטה:

process.getInputStream ();

כאשר המופע כבר לא נחוץ, עלינו לשחרר את משאבי המערכת על ידי התקשרות ל- להרוס() שיטה.

4. מסקנה

במאמר זה הראינו שתי דרכי שימוש סִלְסוּל בג'אווה.

דוגמאות קוד זה ועוד זמינות ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found