Package org.aoju.bus.core.io.copier
Class IoCopier<S,T>
java.lang.Object
org.aoju.bus.core.io.copier.IoCopier<S,T>
- Type Parameters:
S- 拷贝源类型,如InputStream、Reader等T- 拷贝目标类型,如OutputStream、Writer等
- Direct Known Subclasses:
ChannelCopier,FileChannelCopier,ReaderWriterCopier,StreamCopier
IO拷贝抽象,可自定义包括缓存、进度条等信息 此对象非线程安全
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected final long拷贝总数protected boolean是否每次写出一个buffer内容就执行flushprotected Progress进度条 -
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
-
IoCopier
构造- Parameters:
bufferSize- 缓存大小,< 0 表示默认IoKit.DEFAULT_BUFFER_SIZEcount- 拷贝总数,-1表示无限制progress- 进度条
-
-
Method Details
-
copy
-
bufferSize
protected int bufferSize(long count) 缓存大小,取默认缓存和目标长度最小值- Parameters:
count- 目标长度- Returns:
- 缓存大小
-
setFlushEveryBuffer
-