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.