类 StreamHelper
- java.lang.Object
-
- com.ajaxjs.util.io.StreamHelper
-
public class StreamHelper extends Object
流操作助手类 如不满足 可参考 Spring StreamUtils/ResourceUtils/FileCopyUtils/FileSystemUtils
-
-
字段概要
字段 修饰符和类型 字段 说明 static int
BUFFER_SIZE
1K 的数据块
-
构造器概要
构造器 构造器 说明 StreamHelper()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static void
bytes2output(OutputStream out, byte[] data, boolean isBuffered, int off, int length)
送入的 byte[] 转换为输出流。static void
bytes2output(OutputStream out, byte[] data, int off, int length)
送入的 byte[] 转换为输出流。static String
copyToString(InputStream in)
读输入的字节流转换到字符流,将其转换为文本(多行)的字节流转换为字符串static String
copyToString(InputStream in, Charset encode)
读输入的字节流转换到字符流,将其转换为文本(多行)的字节流转换为字符串。static byte[]
inputStream2Byte(InputStream in)
使用内存操作流,读取二进制,也就是将流转换为内存的数据。static void
read(InputStream in, Charset encode, Consumer<String> fn)
从输入流中读取数据,并对每行数据应用提供的消费函数static void
write(InputStream in, OutputStream out)
static void
write(InputStream in, OutputStream out, boolean isBuffer)
两端速度不匹配,需要协调 理想环境下,速度一样快,那就没必要搞流,直接一坨给弄过去就可以了 流的意思很形象,就是一点一滴的,不是一坨坨大批量的 带缓冲的一入一出 出是字节流,所以要缓冲(字符流自带缓冲,所以不需要额外缓冲) 请注意,改方法不会关闭流 close,你需要手动关闭
-
-
-
字段详细资料
-
BUFFER_SIZE
public static final int BUFFER_SIZE
1K 的数据块- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
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
- 是否加入缓冲功能
-
write
public static void write(InputStream in, OutputStream out)
-
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
- 长度
-
-