org.apache.commons.io.IOUtils

 

  • 将字节流转换成缓冲字节流
public static InputStream toBufferedInputStream(InputStream input)

 

  • 将输入流写入字节数组
public static byte[] toByteArray(InputStream input)
public static byte[] toByteArray(Reader input)
public static byte[] toByteArray(Reader input, String encoding)
public static byte[] toByteArray(String input)

 

代码:

String filename = "D:" + File.separator + "data.txt"; 
File file = new File(filename); 
InputStream in = new FileInputStream(file);
byte[] array = IOUtils.toByteArray(in);
System.out.println(array.length); //49

 

  • 将输入流写入字符数组
public static char[] toCharArray(InputStream is)
public static char[] toCharArray(InputStream is, String encoding)
public static char[] toCharArray(Reader input)

 

  • 将输入流写入字符串
public static String toString(InputStream input)
public static String toString(InputStream input, String encoding)
public static String toString(Reader input)

 

  • 将输入流按行置入一个List<String>,该方法已经实现了缓冲
public static List<String> readLines(InputStream input)
public static List<String> readLines(InputStream input, String encoding)
public static List<String> readLines(Reader input)

 

  • 将字符串写入输入流
public static InputStream toInputStream(String input)
public static InputStream toInputStream(String input, String encoding)

 

  • 将一个字节数组写出到输出流 
public static void write(byte[] data, OutputStream output)
public static void write(byte[] data, Writer output)
public static void write(byte[] data, Writer output, String encoding)

 

  • 将一个字符数组写出到输出流 
public static void write(char[] data, OutputStream output)
public static void write(char[] data, Writer output)
public static void write(char[] data, OutputStream output, String encoding)

 

  • 将字符串写出到输出流
public static void write(String data, OutputStream output)
public static void write(String data, Writer output)
public static void write(String data, OutputStream output, String encoding)

 

  • 将输出流按行置入一个Collection
public static void writeLines(Collection<?> lines, String lineEnding,OutputStream output)
public static void writeLines(Collection<?> lines, String lineEnding,OutputStream output, String encoding)
public static void writeLines(Collection<?> lines, String lineEnding,Writer writer)

 

代码:

List<String> lines = new ArrayList();
lines.add("hello");
lines.add("list");
lines.add("to");
lines.add("file");
OutputStream os = new FileOutputStream("D:/data.txt");
IOUtils.writeLines(lines,IOUtils.LINE_SEPARATOR,os);

 

  • 拷贝流
public static int copy(InputStream input, OutputStream output)
public static void copy(InputStream input, Writer output)
public static void copy(InputStream input, Writer output, String encoding)
public static int copy(Reader input, Writer output)
public static void copy(Reader input, OutputStream output)
public static void copy(Reader input, OutputStream output, String encoding)

 

拷贝超过2GB容量的流。 

public static long copyLarge(InputStream input, OutputStream output)
public static long copyLarge(Reader input, Writer output)

 

  • 比较两个流是否相同
public static boolean contentEquals(InputStream input1, InputStream input2)
public static boolean contentEquals(Reader input1, Reader input2)

 

关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块

public static void closeQuietly(InputStream input)
public static void closeQuietly(OutputStream output)
public static void closeQuietly(Reader input)
public static void closeQuietly(Writer output)
public static void closeQuietly(Closeable closeable)
public static void closeQuietly(Socket sock)

 

posted on 2019-11-22 11:11  FuYingju  阅读(495)  评论(0编辑  收藏  举报