Reading contents from text files all at once using Apache Commons IO
The same functionality described in the previous recipe can be achieved using Apache Commons IO API.
Getting ready
In order to perform this recipe, we will require the following:
- In this recipe, we will be using a Java library from Apache named Commons IO. Download the version of your choice from here: https://commons.apache.org/proper/commons-io/download_io.cgi
- Include the JAR file in your project an external JAR in Eclipse.
How to do it...
- Say, you are trying to read the contents of a file located in your
C:/ drive
nameddummy.txt
. First, you need to create a file object for accessing this file as follows:File file = new File("C:/dummy.txt");
- Next, create a string object to hold the text contents of your file. The method we will be using from Apache Commons IO library is called
readFileToString
, which is a member of the class namedFileUtils
. There are many different ways you can call this method. But for now, just know that we need to send two arguments to this method. First, thefile
object, which is the file we will be reading, and then the encoding of the file, which in this example isÂUTF-8
:String text = FileUtils.readFileToString(file, "UTF-8");
- The preceding two lines will be enough to read text file content and put that in a variable. However, you are not only a data scientist, you are a smart data scientist. Therefore, you need to add a few lines before and after the code just to handle exceptions thrown by Java methods if you try to read a file that does not exist, or is corrupted, and so on. The completeness of the preceding code can be achieved by introducing a
try...catch
block as follows:File file = new File("C:/dummy.txt"); try { String text = FileUtils.readFileToString(file, "UTF-8"); } catch (IOException e) { System.out.println("Error reading " + file.getAbsolutePath()); }