public class FileCopier extends SrcToDestCopier<File,FileCopier>
1、文件复制到文件 2、文件复制到目录 3、目录复制到目录 4、目录下的文件和目录复制到另一个目录
copyFilter, dest, src
Constructor and Description |
---|
FileCopier(File src,
File dest)
构造
|
Modifier and Type | Method and Description |
---|---|
File |
copy()
执行拷贝
拷贝规则为: 1、源为文件,目标为已存在目录,则拷贝到目录下,文件名不变 2、源为文件,目标为不存在路径,则目标以文件对待(自动创建父级目录)比如:/dest/aaa,如果aaa不存在,则aaa被当作文件名 3、源为文件,目标是一个已存在的文件,则当 setOverride(boolean) 设为true时会被覆盖,默认不覆盖
4、源为目录,目标为已存在目录,当setCopyContentIfDir(boolean) 为true时,只拷贝目录中的内容到目标目录中,否则整个源目录连同其目录拷贝到目标目录中
5、源为目录,目标为不存在路径,则自动创建目标为新目录,然后按照规则4复制
6、源为目录,目标为文件,抛出IO异常
7、源路径和目标路径相同时,抛出IO异常
|
static FileCopier |
create(File src,
File dest)
新建一个文件复制器
|
static FileCopier |
create(String srcPath,
String destPath)
新建一个文件复制器
|
boolean |
isCopyAttributes()
是否拷贝所有属性
|
boolean |
isCopyContentIfDir()
当拷贝来源是目录时是否只拷贝目录下的内容
|
boolean |
isOnlyCopyFile()
当拷贝来源是目录时是否只拷贝文件而忽略子目录
|
boolean |
isOverride()
是否覆盖目标文件
|
FileCopier |
setCopyAttributes(boolean isCopyAttributes)
设置是否拷贝所有属性
|
FileCopier |
setCopyContentIfDir(boolean isCopyContentIfDir)
当拷贝来源是目录时是否只拷贝目录下的内容
|
FileCopier |
setOnlyCopyFile(boolean isOnlyCopyFile)
设置当拷贝来源是目录时是否只拷贝文件而忽略子目录
|
FileCopier |
setOverride(boolean isOverride)
设置是否覆盖目标文件
|
getCopyFilter, getDest, getSrc, setCopyFilter, setDest, setSrc
public static FileCopier create(String srcPath, String destPath)
srcPath
- 源文件路径(相对ClassPath路径或绝对路径)destPath
- 目标文件路径(相对ClassPath路径或绝对路径)public static FileCopier create(File src, File dest)
src
- 源文件dest
- 目标文件public boolean isOverride()
public FileCopier setOverride(boolean isOverride)
isOverride
- 是否覆盖目标文件public boolean isCopyAttributes()
public FileCopier setCopyAttributes(boolean isCopyAttributes)
isCopyAttributes
- 是否拷贝所有属性public boolean isCopyContentIfDir()
public FileCopier setCopyContentIfDir(boolean isCopyContentIfDir)
isCopyContentIfDir
- 是否只拷贝目录下的内容public boolean isOnlyCopyFile()
public FileCopier setOnlyCopyFile(boolean isOnlyCopyFile)
isOnlyCopyFile
- 当拷贝来源是目录时是否只拷贝文件而忽略子目录public File copy() throws IORuntimeException
1、源为文件,目标为已存在目录,则拷贝到目录下,文件名不变 2、源为文件,目标为不存在路径,则目标以文件对待(自动创建父级目录)比如:/dest/aaa,如果aaa不存在,则aaa被当作文件名 3、源为文件,目标是一个已存在的文件,则当setOverride(boolean)
设为true时会被覆盖,默认不覆盖 4、源为目录,目标为已存在目录,当setCopyContentIfDir(boolean)
为true时,只拷贝目录中的内容到目标目录中,否则整个源目录连同其目录拷贝到目标目录中 5、源为目录,目标为不存在路径,则自动创建目标为新目录,然后按照规则4复制 6、源为目录,目标为文件,抛出IO异常 7、源路径和目标路径相同时,抛出IO异常
IORuntimeException
- IO异常Copyright © 2024. All rights reserved.