Java - čitač u niz
U ovom brzom uputstvu ćemo pretvoriti a Čitač u String koristeći običnu Javu, Guavu i Apache Commons IO knjižnicu.
Ovaj je članak dio serije "Java - Povratak na osnovno" ovdje na Baeldungu.
1. S Javom
Počnimo s jednostavnim Java rješenjem koje čita znakove uzastopno iz Čitač:
@Test javna praznina givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect () baca IOException {StringReader reader = novi StringReader ("tekst"); int intValueOfChar; Niz targetString = ""; while ((intValueOfChar = reader.read ())! = -1) {targetString + = (char) intValueOfChar; } čitač.close (); }
Ako ima puno sadržaja za čitanje, rješenje za skupno čitanje bolje će funkcionirati:
@Test javna praznina givenUsingPlainJava_whenConvertingReaderIntoStringV2_thenCorrect () baca IOException {Reader InitialReader = novi StringReader ("tekst"); char [] arr = novi char [8 * 1024]; StringBuilder međuspremnik = novi StringBuilder (); int numCharsRead; while ((numCharsRead = InitialReader.read (arr, 0, arr.length))! = -1) {buffer.append (arr, 0, numCharsRead); } InitialReader.close (); Niz targetString = buffer.toString (); }
2. S Guavom
Guava pruža uslužni program koji može izvršite pretvorbu izravno:
@Test javna praznina givenUsingGuava_whenConvertingReaderIntoString_thenCorrect () baca IOException {Reader InitialReader = CharSource.wrap ("S Google Guava"). OpenStream (); Niz targetString = CharStreams.toString (InitialReader); InitialReader.close (); }
3. Uz Commons IO
Isto je i s Apache Commons IO - postoji IO uslužni program sposoban izvesti izravna pretvorba:
@Test javna praznina givenUsingCommonsIO_whenConvertingReaderIntoString_thenCorrect () baca IOException {Reader InitialReader = novi StringReader ("With Apache Commons"); Niz targetString = IOUtils.toString (InitialReader); InitialReader.close (); }
I eto vam - 4 načina pretvaranja a Čitač u običnu Strunu. Obavezno provjerite uzorak na GitHubu.