Java - a karakterlánc olvasója

Ebben a gyors bemutatóban fogunk részt venni átalakítani a Olvasó vonóssá sima Java, Guava és az Apache Commons IO könyvtár használatával.

Ez a cikk a „Java - Vissza az alapokhoz” sorozat része, itt, Baeldungon.

1. Java-val

Kezdjük egy egyszerű Java-megoldással, amely a karaktereket egymás után olvassa a Olvasó:

@Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect () dobja az IOException {StringReader olvasót = új StringReader ("text"); int intValueOfChar; String targetString = ""; while ((intValueOfChar = olvasó.olvasott ())! = -1) {targetString + = (char) intValueOfChar; } olvasó.zárja (); }

Ha sok tartalmat kell elolvasni, akkor a tömegesen olvasható megoldás jobban működik:

@Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV2_thenCorrect () dobja az IOException {Reader initialReader = new StringReader ("text"); char [] arr = új char [8 * 1024]; StringBuilder puffer = new StringBuilder (); int numCharsRead; while ((numCharsRead = initialReader.read (arr, 0, arr.length))! = -1) {buffer.append (arr, 0, numCharsRead); } initialReader.close (); String targetString = buffer.toString (); }

2. Guavával

A Guava olyan segédprogramot nyújt, amely képes közvetlenül végezze el az átalakítást:

@Test public void givenUsingGuava_whenConvertingReaderIntoString_thenCorrect () dobja az IOException {Reader initialReader = CharSource.wrap ("A Google Guava-val"). OpenStream (); String targetString = CharStreams.toString (initialReader); initialReader.close (); }

3. A Commons IO-val

Ugyanez az Apache Commons IO-val - van egy IO segédprogram, amely képes a közvetlen megtérés:

@Test public void givenUsingCommonsIO_whenConvertingReaderIntoString_thenCorrect () dobja az IOException {Reader initialReader = new StringReader ("Apache Commons-szal"); String targetString = IOUtils.toString (initialReader); initialReader.close (); }

És itt van - az átalakítás 4 módja a Olvasó sima String-be. Ügyeljen arra, hogy ellenőrizze a mintát a GitHubon.


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