Class IOAdvice

java.lang.Object
develop.toolkit.base.utils.IOAdvice

public final class IOAdvice extends Object
输入输出流增强
Author:
qiushui on 2019-02-21.
  • Constructor Details

    • IOAdvice

      public IOAdvice()
  • Method Details

    • toByteArray

      public static byte[] toByteArray(InputStream inputStream)
      转换成字节数组
    • toByteArrayFromClasspath

      public static byte[] toByteArrayFromClasspath(String filename)
      转换成字节数组
    • readLines

      public static Stream<String> readLines(String filename)
      文件读取行
    • readLines

      public static Stream<String> readLines(String filename, Charset charset)
      文件读取行
    • readLines

      public static Stream<String> readLines(InputStream inputStream)
      文本流读取行
    • readLines

      public static Stream<String> readLines(InputStream inputStream, Charset charset)
      文本流读取行
    • readInputStreamFromClasspath

      public static InputStream readInputStreamFromClasspath(String filename)
      从classpath读流
    • readLinesFromClasspath

      public static Stream<String> readLinesFromClasspath(String filename, Charset charset)
      从classpath读取文件
    • readLinesFromClasspath

      public static Stream<String> readLinesFromClasspath(String filename)
      从classpath读取文件
    • splitFromClasspath

      public static Stream<String[]> splitFromClasspath(String filename, String regex)
      从classpath读取文件并每行用regex切分
    • splitFromClasspath

      public static <T> Stream<T> splitFromClasspath(String filename, String regex, Class<T> clazz)
      从classpath读取文件并每行用regex切分,然后装填到实体类
    • splitGroupingFormClasspath

      public static <K> ListInMap<K,String[]> splitGroupingFormClasspath(String filename, String regex, Function<String[],K> keyFunction)
      从classpath读取文件并每行用regex切分,然后按keyFunction分组
    • splitGroupingUniqueFormClasspath

      public static <K> Map<K,String[]> splitGroupingUniqueFormClasspath(String filename, String regex, Function<String[],K> keyFunction)
      从classpath读取文件并每行用regex切分,然后按keyFunction分组,明确值是唯一的
    • splitGroupingFormClasspath

      public static <K, T> ListInMap<K,T> splitGroupingFormClasspath(String filename, String regex, Class<T> clazz, Function<T,K> keyFunction)
      从classpath读取文件并每行用regex切分,装填到实体类,然后按keyFunction分组
    • splitGroupingFormClasspath

      public static <K, V> ListInMap<K,V> splitGroupingFormClasspath(String filename, String regex, Function<String[],K> keyFunction, Function<String[],V> valueFunction)
      从classpath读取文件并每行用regex切分,然后按keyFunction分组
    • splitGroupingFormClasspath

      public static <K, V, T> ListInMap<K,V> splitGroupingFormClasspath(String filename, String regex, Class<T> clazz, Function<T,K> keyFunction, Function<T,V> valueFunction)
      从classpath读取文件并每行用regex切分,装填到实体类,然后按keyFunction分组
    • splitGroupingUniqueFormClasspath

      public static <K, V> Map<K,V> splitGroupingUniqueFormClasspath(String filename, String regex, Function<String[],K> keyFunction, Function<String[],V> valueFunction)
      从classpath读取文件并每行用regex切分,然后按keyFunction分组,明确值是唯一的
    • readText

      public static String readText(InputStream inputStream, Charset charset)
      读取文本
    • readText

      public static String readText(InputStream inputStream)
      读取文本
    • readTextFromClasspath

      public static String readTextFromClasspath(String filename, Charset charset)
      从classpath读取文本
    • readTextFromClasspath

      public static String readTextFromClasspath(String filename)
      从classpath读取文本
    • writeLines

      public static void writeLines(List<String> lines, String filename, Charset charset)
      写出文本行到文件
    • writeLines

      public static void writeLines(List<String> lines, String filename)
      写出文本行到文件
    • writeLines

      public static void writeLines(List<String> lines, OutputStream outputStream, Charset charset)
      写出文本行
    • appendLines

      public static void appendLines(List<String> lines, String filename, Charset charset)
      追加文本行
    • appendLines

      public static void appendLines(List<String> lines, String filename)
      追加文本行
    • copyText

      public static void copyText(InputStream inputStream, OutputStream outputStream, Charset charset, Function<String,String> function)
      复制文本
    • copyQuietly

      public static long copyQuietly(File source, File target)
      安静地复制文件
    • printFile

      public static void printFile(String filename, Charset charset)
      打印文件
    • printInputStream

      public static void printInputStream(InputStream inputStream, Charset charset)
      打印流文件
    • printInputStream

      public static void printInputStream(InputStream inputStream)
      打印流文件
    • sliceBytes

      public static long sliceBytes(int bufferSize, long offset, long chunkSize, InputStream in, OutputStream out) throws IOException
      截取输入流中某一段的字节数据
      Parameters:
      bufferSize - 缓冲区大小
      offset - 偏移量
      chunkSize - 截取块大小
      in - 输入流
      out - 输出流
      Throws:
      IOException - IO异常