Package org.aoju.bus.core.io.file
Class FileCopier
文件拷贝器
支持以下几种情况:
1、文件复制到文件
2、文件复制到目录
3、目录复制到目录
4、目录下的文件和目录复制到另一个目录
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()执行拷贝 拷贝规则为:static FileCopier新建一个文件复制器static FileCopier新建一个文件复制器boolean是否拷贝所有属性boolean当拷贝来源是目录时是否只拷贝目录下的内容boolean当拷贝来源是目录时是否只拷贝文件而忽略子目录boolean是否覆盖目标文件setCopyAttributes(boolean isCopyAttributes) 设置是否拷贝所有属性setCopyContentIfDir(boolean isCopyContentIfDir) 当拷贝来源是目录时是否只拷贝目录下的内容setOnlyCopyFile(boolean isOnlyCopyFile) 设置当拷贝来源是目录时是否只拷贝文件而忽略子目录setOverride(boolean isOverride) 设置是否覆盖目标文件Methods inherited from class org.aoju.bus.core.lang.copier.Duplicate
getDest, getPredicate, getSrc, setDest, setPredicate, setSrc
-
Constructor Details
-
FileCopier
构造- Parameters:
src- 源文件dest- 目标文件
-
-
Method Details
-
create
新建一个文件复制器- Parameters:
srcPath- 源文件路径(相对ClassPath路径或绝对路径)destPath- 目标文件路径(相对ClassPath路径或绝对路径)- Returns:
- this
-
create
新建一个文件复制器- Parameters:
src- 源文件dest- 目标文件- Returns:
- this
-
isOverride
public boolean isOverride()是否覆盖目标文件- Returns:
- 是否覆盖目标文件
-
setOverride
设置是否覆盖目标文件- Parameters:
isOverride- 是否覆盖目标文件- Returns:
- this
-
isCopyAttributes
public boolean isCopyAttributes()是否拷贝所有属性- Returns:
- 是否拷贝所有属性
-
setCopyAttributes
设置是否拷贝所有属性- Parameters:
isCopyAttributes- 是否拷贝所有属性- Returns:
- this
-
isCopyContentIfDir
public boolean isCopyContentIfDir()当拷贝来源是目录时是否只拷贝目录下的内容- Returns:
- 当拷贝来源是目录时是否只拷贝目录下的内容
-
setCopyContentIfDir
当拷贝来源是目录时是否只拷贝目录下的内容- Parameters:
isCopyContentIfDir- 是否只拷贝目录下的内容- Returns:
- this
-
isOnlyCopyFile
public boolean isOnlyCopyFile()当拷贝来源是目录时是否只拷贝文件而忽略子目录- Returns:
- 当拷贝来源是目录时是否只拷贝文件而忽略子目录
-
setOnlyCopyFile
设置当拷贝来源是目录时是否只拷贝文件而忽略子目录- Parameters:
isOnlyCopyFile- 当拷贝来源是目录时是否只拷贝文件而忽略子目录- Returns:
- the fileCopier
-
copy
执行拷贝 拷贝规则为:1、源为文件,目标为已存在目录,则拷贝到目录下,文件名不变 2、源为文件,目标为不存在路径,则目标以文件对待(自动创建父级目录)比如:/dest/aaa,如果aaa不存在,则aaa被当作文件名 3、源为文件,目标是一个已存在的文件,则当
setOverride(boolean)设为true时会被覆盖,默认不覆盖 4、源为目录,目标为已存在目录,当setCopyContentIfDir(boolean)为true时,只拷贝目录中的内容到目标目录中,否则整个源目录连同其目录拷贝到目标目录中 5、源为目录,目标为不存在路径,则自动创建目标为新目录,然后按照规则4复制 6、源为目录,目标为文件,抛出IO异常 7、源路径和目标路径相同时,抛出IO异常- Returns:
- 拷贝后目标的文件或目录
- Throws:
InstrumentException- IO异常
-