מחרוזת 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 מתוך מחרוזת פשוטה.


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