Class PathMover

java.lang.Object
org.miaixz.bus.core.io.file.PathMover

public class PathMover extends Object
文件移动封装
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
    PathMover(Path src, Path target, CopyOption[] options)
    构造
  • Method Summary

    Modifier and Type
    Method
    Description
    移动文件或目录到目标中,例如: 如果src和target为同一文件或目录,直接返回target。 如果src为文件,target为目录,则移动到目标目录下,存在同名文件则按照是否覆盖参数执行。 如果src为文件,target为文件,则按照是否覆盖参数执行。 如果src为文件,target为不存在的路径,则重命名源文件到目标指定的文件,如move("/a/b", "/c/d"), d不存在,则b变成d。 如果src为目录,target为文件,抛出IllegalArgumentException 如果src为目录,target为目录,则将源目录及其内容移动到目标路径目录中,如move("/a/b", "/c/d"),结果为"/c/d/b" 如果src为目录,target为其子目录,抛出IllegalArgumentException 如果src为目录,target为不存在的路径,则重命名src到target,如move("/a/b", "/c/d"),结果为"/c/d/",相当于b重命名为d
    移动文件或目录内容到目标中,例如: 如果src为文件,target为目录,则移动到目标目录下,存在同名文件则按照是否覆盖参数执行。 如果src为文件,target为文件,则按照是否覆盖参数执行。 如果src为文件,target为不存在的路径,则重命名源文件到目标指定的文件,如moveContent("/a/b", "/c/d"), d不存在,则b变成d。 如果src为目录,target为文件,抛出IllegalArgumentException 如果src为目录,target为目录,则将源目录下的内容移动到目标路径目录中,源目录不删除。 如果src为目录,target为不存在的路径,则创建目标路径为目录,将源目录下的内容移动到目标路径目录中,源目录不删除。
    static PathMover
    of(Path src, Path target, boolean isOverride)
    创建文件或目录移动器
    static PathMover
    of(Path src, Path target, CopyOption[] options)
    创建文件或目录移动器

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PathMover

      public PathMover(Path src, Path target, CopyOption[] options)
      构造
      Parameters:
      src - 源文件或目录,不能为null且必须存在
      target - 目标文件或目录
      options - 移动参数
  • Method Details

    • of

      public static PathMover of(Path src, Path target, boolean isOverride)
      创建文件或目录移动器
      Parameters:
      src - 源文件或目录
      target - 目标文件或目录
      isOverride - 是否覆盖目标文件
      Returns:
      PathMover
    • of

      public static PathMover of(Path src, Path target, CopyOption[] options)
      创建文件或目录移动器
      Parameters:
      src - 源文件或目录
      target - 目标文件或目录
      options - 移动参数
      Returns:
      PathMover
    • move

      public Path move() throws IllegalArgumentException
      移动文件或目录到目标中,例如:
      • 如果src和target为同一文件或目录,直接返回target。
      • 如果src为文件,target为目录,则移动到目标目录下,存在同名文件则按照是否覆盖参数执行。
      • 如果src为文件,target为文件,则按照是否覆盖参数执行。
      • 如果src为文件,target为不存在的路径,则重命名源文件到目标指定的文件,如move("/a/b", "/c/d"), d不存在,则b变成d。
      • 如果src为目录,target为文件,抛出IllegalArgumentException
      • 如果src为目录,target为目录,则将源目录及其内容移动到目标路径目录中,如move("/a/b", "/c/d"),结果为"/c/d/b"
      • 如果src为目录,target为其子目录,抛出IllegalArgumentException
      • 如果src为目录,target为不存在的路径,则重命名src到target,如move("/a/b", "/c/d"),结果为"/c/d/",相当于b重命名为d
      Returns:
      目标文件Path
      Throws:
      IllegalArgumentException - src为目录,target为其子目录抛出此异常
    • moveContent

      public Path moveContent()
      移动文件或目录内容到目标中,例如:
      • 如果src为文件,target为目录,则移动到目标目录下,存在同名文件则按照是否覆盖参数执行。
      • 如果src为文件,target为文件,则按照是否覆盖参数执行。
      • 如果src为文件,target为不存在的路径,则重命名源文件到目标指定的文件,如moveContent("/a/b", "/c/d"), d不存在,则b变成d。
      • 如果src为目录,target为文件,抛出IllegalArgumentException
      • 如果src为目录,target为目录,则将源目录下的内容移动到目标路径目录中,源目录不删除。
      • 如果src为目录,target为不存在的路径,则创建目标路径为目录,将源目录下的内容移动到目标路径目录中,源目录不删除。
      Returns:
      目标文件Path