Table of Contents
In this quick tutorial we’re going to convert a Reader into a String using plain Java, Guava and the Apache Commons IO library.
This article is part of the “Java – Back to Basic” series here on VietMX’s Blog.
1. With Java
Let’s start with a simple Java solution that reads characters sequentially from the Reader:
@Test
public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect()
throws IOException {
StringReader reader = new StringReader("text");
int intValueOfChar;
String targetString = "";
while ((intValueOfChar = reader.read()) != -1) {
targetString += (char) intValueOfChar;
}
reader.close();
}
If there is a lot of content to read, a bulk-read solution will work better:
@Test
public void givenUsingPlainJava_whenConvertingReaderIntoStringV2_thenCorrect()
throws IOException {
Reader initialReader = new StringReader("text");
char[] arr = new char[8 * 1024];
StringBuilder buffer = 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. With Guava
Guava provides a utility that can do the conversion directly:
@Test
public void givenUsingGuava_whenConvertingReaderIntoString_thenCorrect()
throws IOException {
Reader initialReader = CharSource.wrap("With Google Guava").openStream();
String targetString = CharStreams.toString(initialReader);
initialReader.close();
}
3. With Commons IO
Same with Apache Commons IO – there is an IO utility capable of performing the direct conversion:
@Test
public void givenUsingCommonsIO_whenConvertingReaderIntoString_thenCorrect()
throws IOException {
Reader initialReader = new StringReader("With Apache Commons");
String targetString = IOUtils.toString(initialReader);
initialReader.close();
}
And there you have it – 4 ways of transforming a Reader into a plain String. Make sure to check out the sample over on GitHub.
Related posts:
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java Program to Find Strongly Connected Components in Graphs
How to Set TLS Version in Apache HttpClient
Java Program to Represent Graph Using Linked List
List Interface trong Java
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
A Guide to LinkedHashMap in Java
A Guide to Iterator in Java
Jackson Date
A Guide to System.exit()
Xử lý ngoại lệ trong Java (Exception Handling)
Java Program to Implement Regular Falsi Algorithm
Luồng Daemon (Daemon Thread) trong Java
Java Program to Implement Quick Sort with Given Complexity Constraint
Hướng dẫn Java Design Pattern – Bridge
Convert Time to Milliseconds in Java
Flattening Nested Collections in Java
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Java Program to implement Sparse Vector
Lớp TreeMap trong Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Composition, Aggregation, and Association in Java
Java Program to Implement Binomial Heap
Java Program to Implement vector
Weak References in Java
Deploy a Spring Boot App to Azure
Guide to the Java Queue Interface
The Registration Process With Spring Security
A Quick Guide to Spring MVC Matrix Variables
Spring Security Custom AuthenticationFailureHandler
Apache Commons Collections Bag
Convert Character Array to String in Java