ג'אווה - קורא למחרוזת

במדריך המהיר הזה אליו נלך להמיר א קוֹרֵא לתוך מחרוזת באמצעות Java רגיל, גויאבה וספריית IO של Apache Commons.

מאמר זה הוא חלק מסדרת "Java - Back to Basic" כאן בבלדונג.

1. עם ג'אווה

נתחיל בפתרון Java פשוט זה קורא תווים ברצף מתוך קוֹרֵא:

@Test הציבור בטל givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect () זורק IOException {קורא StringReader = StringReader חדש ("טקסט"); int intValueOfChar; מחרוזת targetString = ""; בעוד ((intValueOfChar = reader.read ())! = -1) {targetString + = (char) intValueOfChar; } reader.close (); }

אם יש הרבה תוכן לקרוא, פתרון לקריאה בכמות גדולה יעבוד טוב יותר:

@Test הציבור בטל givenUsingPlainJava_whenConvertingReaderIntoStringV2_thenCorrect () זורק IOException {Reader initialReader = חדש StringReader ("טקסט"); char [] arr = char חדש [8 * 1024]; חיץ StringBuilder = StringBuilder חדש (); int numCharsRead; בעוד ((numCharsRead = initialReader.read (arr, 0, arrllength))! = -1) {buffer.append (arr, 0, numCharsRead); } initialReader.close (); מחרוזת targetString = buffer.toString (); }

2. עם גויאבה

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

@Test ציבורי בטל givenUsingGuava_whenConvertingReaderIntoString_thenCorrect () זורק IOException {Reader initialReader = CharSource.wrap ("עם גויאבה של גוגל"). OpenStream (); מחרוזת targetString = CharStreams.toString (initialReader); initialReader.close (); }

3. עם IO של Commons

אותו דבר עם Apache Commons IO - יש כלי IO המסוגל לבצע את המרה ישירה:

@ מבחן חלל ציבורי givenUsingCommonsIO_whenConvertingReaderIntoString_thenCorrect () זורק IOException {Reader initialReader = StringReader חדש ("עם Apache Commons"); מחרוזת targetString = IOUtils.toString (initialReader); initialReader.close (); }

והנה לך - ארבע דרכים לשנות א קוֹרֵא למחרוזת רגילה. הקפד לבדוק את הדגימה ב- GitHub.


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