מחרוזת Java ל- InputStream
1. סקירה כללית
במדריך מהיר זה, נבחן כיצד לעשות זאת להמיר מחרוזת סטנדרטית ל- InputStreamבאמצעות Java רגיל, גויאבה וספריית IO של Apache Commons.
מאמר זה הוא חלק מסדרת "Java - Back to Basic" כאן בבלדונג.
2. המר עם Java רגיל
נתחיל בדוגמה פשוטה המשתמשת בג'אווה לצורך ביצוע ההמרה - באמצעות מתווך בתים מַעֲרָך:
@Test הציבורי בטל givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect () זורק IOException {String initialString = "text"; InputStream targetStream = ByteArrayInputStream חדש (initialString.getBytes ()); }
שים לב שה- getBytes () השיטה מקודדת זאת חוּט שימוש בערכת ברירת המחדל של הפלטפורמה כדי למנוע התנהגות לא רצויה שתוכלו להשתמש בה getBytes (Charset charset) ו לשלוט בתהליך הקידוד.
3. להמיר עם גויאבה
גויאבה אינה מספקת שיטת המרה ישירה, אך מאפשרת לנו להשיג קוֹרֵא מחוץ למחרוזת - בשלב זה, השגת InputStream זה קל:
@Test הציבור בטל givenUsingGuava_whenConvertingStringToInputStream_thenCorrect () זורק IOException {String initialString = "text"; InputStream targetStream = ReaderInputStream חדש (CharSource.wrap (initialString) .openStream ()); }
4. להמיר באמצעות IO של Commons
לבסוף, ספריית ה- IO של Apache Commons מספקת פתרון ישיר מצוין:
@Test הציבור בטל givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect () זורק IOException {String initialString = "text"; InputStream targetStream = IOUtils.toInputStream (initialString); }
לבסוף - שימו לב שאנחנו משאירים את זרם הקלט פתוח בדוגמאות האלה - אל תשכחו סגור אותו כשתסיים.
זהו זה - שלוש דרכים פשוטות ותמציתיות להשיג InputStream מתוך מחרוזת פשוטה.