【commons】IO工具类——commons-io之IOUtils

时间:2021-01-10 14:57:22

本文转载自xingoo:

  https://www.cnblogs.com/xing901022/p/5978989.html

一、常用静态变量

public static final char DIR_SEPARATOR_UNIX = '/';
public static final char DIR_SEPARATOR_WINDOWS = '\\';
public static final char DIR_SEPARATOR;
public static final String LINE_SEPARATOR_UNIX = "\n";
public static final String LINE_SEPARATOR_WINDOWS = "\r\n";
public static final String LINE_SEPARATOR; static {
DIR_SEPARATOR = File.separatorChar; StringBuilderWriter buf = new StringBuilderWriter(4);
PrintWriter out = new PrintWriter(buf);
out.println();
LINE_SEPARATOR = buf.toString();
out.close();
}

二、常用方法 

  copy

  这个方法可以拷贝流,算是这个工具类中使用最多的方法了。支持多种数据间的拷贝:

copy(inputstream,outputstream)
copy(inputstream,writer)
copy(inputstream,writer,encoding)
copy(reader,outputstream)
copy(reader,writer)
copy(reader,writer,encoding)

  copy内部使用的其实还是copyLarge方法。因为copy能拷贝Integer.MAX_VALUE的字节数据,即2^31-1。、

  copyLarge类似,不过适合于拷贝2G的大数据

  以下主要方法不再赘述,参考上文链接

  完整API请参考官方API 

  read

    从一个流中读取内容

  readFully

    这个方法会读取指定长度的流,如果读取的长度不够,就会抛出异常

  readLines

    readLines方法可以从流中读取内容,并转换为String的list

  skip

    这个方法用于跳过指定长度的流,

  skipFully

    这个方法类似skip,只是如果忽略的长度大于现有的长度,就会抛出异常

  write

    这个方法可以把数据写入到输出流中

  writeLines

    这个方法可以把string的List写入到输出流中

  close

    关闭URL连接

  closeQuietly

    忽略nulls和异常,关闭某个流

  contentEquals

    比较两个流是否相同

  contentEqualsIgnoreEOL

    比较两个流,忽略换行符

  lineIterator

    读取流,返回迭代器

  toBufferedInputStream

    把流的全部内容放在另一个流中

  toBufferedReader

    返回输入流

  toByteArray

    返回字节数组

  toCharArray

    返回字符数组

  toInputStream

    返回输入流

  toString

    返回字符串