• avi

    Apache Commons IO - IOUtils

    Provides utility methods for reading, writing and copying files. The methods works with InputStream, OutputStream, Reader and Writer.

    Class Declaration
    Following is the declaration for org.apache.commons.io.IOUtils Class −

    public class IOUtils
       extends Object
    Features
    • Provides static utility methods for input/output operations.
    • toXXX() − reads data from a stream.
    • write() − write data to a stream.
    • copy() − copy all data to a stream to another stream.
    • contentEquals − compare the contents of two streams.
    Example of IOUtils Class
    Here is the input file we need to parse −

    Welcome to TutorialsPoint. Simply Easy Learning.

    IOTester.java

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;

    import org.apache.commons.io.IOUtils;

    public class IOTester {
       public static void main(String[] args) {
          try {
             //Using BufferedReader
             readUsingTraditionalWay();

             //Using IOUtils
             readUsingIOUtils();
          } catch(IOException e) {
             System.out.println(e.getMessage());
          }
       }

       //reading a file using buffered reader line by line
       public static void readUsingTraditionalWay() throws IOException {
          try(BufferedReader bufferReader 
             = new BufferedReader( new InputStreamReader(  
                new FileInputStream("input.txt") ) )) {
             String line;
             while( ( line = bufferReader.readLine() ) != null ) {
                System.out.println( line );
             }
          }
       }

       //reading a file using IOUtils in one go
       public static void readUsingIOUtils() throws IOException {
          try(InputStream in = new FileInputStream("input.txt")) {
             System.out.println( IOUtils.toString( in , "UTF-8") );
          }
       }
    }

    Output
    It will print the following result.

    Welcome to TutorialsPoint. Simply Easy Learning.
    Welcome to TutorialsPoint. Simply Easy Learning.