Package tech.mgl.core.stream
Class MGLIOCopier<S,T>
java.lang.Object
tech.mgl.core.stream.MGLIOCopier<S,T>
- Direct Known Subclasses:
MGLChannelCopier,MGLStreamCopier
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected final long拷贝总数protected boolean是否每次写出一个buffer内容就执行flushprotected MGLStreamProgress进度条 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected intbufferSize(long count) 缓存大小,取默认缓存和目标长度最小值abstract long执行拷贝setFlushEveryBuffer(boolean flushEveryBuffer) 设置是否每次写出一个buffer内容就执行flush
-
Field Details
-
bufferSize
protected final int bufferSize -
count
protected final long count拷贝总数 -
progress
进度条 -
flushEveryBuffer
protected boolean flushEveryBuffer是否每次写出一个buffer内容就执行flush
-
-
Constructor Details
-
MGLIOCopier
构造- Parameters:
bufferSize- 缓存大小,< 0 表示默认MGL_StreamUtils.DEFAULT_BUFFER_SIZEcount- 拷贝总数,-1表示无限制progress- 进度条
-
-
Method Details
-
copy
执行拷贝- Parameters:
source- 拷贝源,如InputStream、Reader等target- 拷贝目标,如OutputStream、Writer等- Returns:
- 拷贝的实际长度
-
bufferSize
protected int bufferSize(long count) 缓存大小,取默认缓存和目标长度最小值- Parameters:
count- 目标长度- Returns:
- 缓存大小
-
setFlushEveryBuffer
设置是否每次写出一个buffer内容就执行flush- Parameters:
flushEveryBuffer- 是否每次写出一个buffer内容就执行flush- Returns:
- this
- Since:
- 5.7.18
-