ג'אווה - קורא למחרוזת
במדריך המהיר הזה אליו נלך להמיר א קוֹרֵא לתוך מחרוזת באמצעות 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.