שימוש בסלסול ב- 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.