Commons Io 简明教程

Apache Commons IO - IOUtils

IOUtils 提供用于读取、写入和复制文件的方法。这些方法可使用 InputStream、OutputStream、Reader 和 Writer。

Class Declaration

下面是 org.apache.commons.io.IOUtils 类的声明 -

public class IOUtils
   extends Object

Features of IOUtils

以下为 IOUtils 的特性 -

  1. 提供用于输入/输出操作的静态实用程序方法。

  2. toXXX() - 从流中读取数据。

  3. write() - 向流中写入数据。

  4. copy() - 将一个流中的所有数据复制到另一个流。

  5. contentEquals - 比较两个流的内容。

Example of IOUtils Class

以下是我们需要解析的输入文件 -

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

它会打印以下结果 −

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