类 StreamHelper


  • public class StreamHelper
    extends Object
    流操作助手类 如不满足 可参考 Spring StreamUtils/ResourceUtils/FileCopyUtils/FileSystemUtils
    • 字段详细资料

      • BUFFER_SIZE

        public static final int BUFFER_SIZE
        1K 的数据块
        另请参阅:
        常量字段值
    • 构造器详细资料

      • StreamHelper

        public StreamHelper()
    • 方法详细资料

      • copyToString

        public static String copyToString​(InputStream in)
        读输入的字节流转换到字符流,将其转换为文本(多行)的字节流转换为字符串
        参数:
        in - 输入流,无须手动关闭
        返回:
        字符串
      • copyToString

        public static String copyToString​(InputStream in,
                                          Charset encode)
        读输入的字节流转换到字符流,将其转换为文本(多行)的字节流转换为字符串。可指定字符编码
        参数:
        in - 输入流,无须手动关闭
        encode - 字符编码
        返回:
        字符串
      • read

        public static void read​(InputStream in,
                                Charset encode,
                                Consumer<String> fn)
        从输入流中读取数据,并对每行数据应用提供的消费函数
        参数:
        in - 输入流读取器,用于读取数据
        encode - 字符编码
        fn - 消费函数,接收一行数据作为参数,对每行数据进行处理
      • write

        public static void write​(InputStream in,
                                 OutputStream out,
                                 boolean isBuffer)
        两端速度不匹配,需要协调 理想环境下,速度一样快,那就没必要搞流,直接一坨给弄过去就可以了 流的意思很形象,就是一点一滴的,不是一坨坨大批量的 带缓冲的一入一出 出是字节流,所以要缓冲(字符流自带缓冲,所以不需要额外缓冲) 请注意,改方法不会关闭流 close,你需要手动关闭
        参数:
        in - 输入流,无须手动关闭
        out - 输出流
        isBuffer - 是否加入缓冲功能
      • inputStream2Byte

        public static byte[] inputStream2Byte​(InputStream in)
        使用内存操作流,读取二进制,也就是将流转换为内存的数据。 InputStream 转换到 byte[]. 从输入流中获取数据, 转换到 byte[] 也就是 in 转到内存。虽然大家可能都在内存里面了但还不能直接使用,要转换
        参数:
        in - 输入流
        返回:
        内存的数据
      • bytes2output

        public static void bytes2output​(OutputStream out,
                                        byte[] data,
                                        int off,
                                        int length)
        送入的 byte[] 转换为输出流。可指定 byte[] 某一部分数据。 注意这函数不会关闭输出流,请记得在适当的时候将其关闭。
        参数:
        out - 输出流
        data - 输入的数据
        off - 偏移
        length - 长度
      • bytes2output

        public static void bytes2output​(OutputStream out,
                                        byte[] data,
                                        boolean isBuffered,
                                        int off,
                                        int length)
        送入的 byte[] 转换为输出流。可指定 byte[] 某一部分数据。 注意这函数不会关闭输出流,请记得在适当的时候将其关闭。
        参数:
        out - 输出流
        data - 输入的数据
        isBuffered - 是否需要缓冲
        off - 偏移
        length - 长度