Table of Contents
In this quick tutorial we’re going to illustrate how to convert a File to a Reader using plain Java, Guava or Apache Commons IO. Let’s get started.
This article is part of the “Java – Back to Basic” series here on VietMX’s Blog.
1. With Plain Java
Let’s first look at the simple Java solution:
@Test
public void givenUsingPlainJava_whenConvertingFileIntoReader_thenCorrect()
throws IOException {
File initialFile = new File("src/test/resources/initialFile.txt");
initialFile.createNewFile();
Reader targetReader = new FileReader(initialFile);
targetReader.close();
}
2. With Guava
Now – let’s see the same conversion, this time using the Guava library:
@Test
public void givenUsingGuava_whenConvertingFileIntoReader_thenCorrect() throws
IOException {
File initialFile = new File("src/test/resources/initialFile.txt");
com.google.common.io.Files.touch(initialFile);
Reader targetReader = Files.newReader(initialFile, Charset.defaultCharset());
targetReader.close();
}
3. With Commons IO
And finally, let’s end with the Commons IO code sample, doing the conversion via an intermediary byte array:
@Test
public void givenUsingCommonsIO_whenConvertingFileIntoReader_thenCorrect()
throws IOException {
File initialFile = new File("src/test/resources/initialFile.txt");
FileUtils.touch(initialFile);
FileUtils.write(initialFile, "With Commons IO");
byte[] buffer = FileUtils.readFileToByteArray(initialFile);
Reader targetReader = new CharSequenceReader(new String(buffer));
targetReader.close();
}
And there we have it – 3 ways to convert a File into a Reader – first with plain Java, then with Guava and finally with the Apache Commons IO library. Make sure to check out the sample over on GitHub.
Related posts:
Java Program to Implement Binomial Tree
A Guide to Queries in Spring Data MongoDB
Spring Boot - Cloud Configuration Client
Spring Boot - Introduction
Java 9 Stream API Improvements
Jackson JSON Views
Hướng dẫn Java Design Pattern – Memento
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Service Registration with Eureka
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Java Program to Encode a Message Using Playfair Cipher
Java Program to Emulate N Dice Roller
New Features in Java 10
Introduction to Spring Data MongoDB
Quick Guide on Loading Initial Data with Spring Boot
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Convert a Map to an Array, List or Set in Java
OAuth2.0 and Dynamic Client Registration
Java Convenience Factory Methods for Collections
Cơ chế Upcasting và Downcasting trong java
Hướng dẫn Java Design Pattern – DAO
Flattening Nested Collections in Java
Java Program to Implement Trie
Java Program to Implement Red Black Tree
Using Java Assertions
Java Program to Implement Sieve Of Sundaram
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program to Check for balanced parenthesis by using Stacks
Command-Line Arguments in Java
Add Multiple Items to an Java ArrayList
Spring NoSuchBeanDefinitionException
Spring Cloud – Bootstrapping