Java - čítačka reťazcov

V tomto rýchlom výučbe sa chystáme konvertovať a Čitateľ do reťazca pomocou obyčajnej Javy, Guavy a knižnice Apache Commons IO.

Tento článok je súčasťou série „Java - Späť na základné“ tu na Baeldungu.

1. S programom Java

Začnime s jednoduchým riešením Java, ktoré číta znaky postupne z Čitateľ:

@Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect () vyvolá IOException {StringReader reader = nový StringReader ("text"); int intValueOfChar; Reťazec targetString = ""; while ((intValueOfChar = reader.read ())! = -1) {targetString + = (char) intValueOfChar; } reader.close (); }

Ak je potrebné čítať veľa obsahu, riešenie hromadného čítania bude fungovať lepšie:

@Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV2_thenCorrect () vyvolá IOException {Reader initialReader = nový StringReader ("text"); char [] arr = nový char [8 * 1024]; StringBuilder buffer = nový StringBuilder (); int numCharsRead; while ((numCharsRead = initialReader.read (arr, 0, arr.length))! = -1) {buffer.append (arr, 0, numCharsRead); } initialReader.close (); Reťazec targetString = buffer.toString (); }

2. S Guavou

Guava poskytuje nástroj, ktorý dokáže urobte prevod priamo:

@Test public void givenUsingGuava_whenConvertingReaderIntoString_thenCorrect () hodí IOException {Reader initialReader = CharSource.wrap ("With Google Guava"). OpenStream (); Reťazec targetString = CharStreams.toString (initialReader); initialReader.close (); }

3. S Commons IO

To isté platí pre Apache Commons IO - existuje IO utilita schopná vykonávať priama premena:

@Test public void givenUsingCommonsIO_whenConvertingReaderIntoString_thenCorrect () vyvolá IOException {Reader initialReader = nový StringReader ("With Apache Commons"); Reťazec targetString = IOUtils.toString (initialReader); initialReader.close (); }

A máte to - 4 spôsoby transformácie a Čitateľ na obyčajný reťazec. Uistite sa, že ste si vzorku prezreli na GitHub.


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