public class org.codehaus.plexus.util.NioFiles
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.util.NioFiles
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.util.NioFiles this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.codehaus.plexus.util.NioFiles this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/codehaus/plexus/util/NioFiles;

  public static boolean isSymbolicLink(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 38
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.isSymbolicLink:(Ljava/nio/file/Path;)Z
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static void chmod(java.io.File, int);
    descriptor: (Ljava/io/File;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.File file
        start local 1 // int mode
         0: .line 44
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 2 /* path */
        start local 2 // java.nio.file.Path path
         1: .line 45
            aload 2 /* path */
            invokestatic java.nio.file.Files.isSymbolicLink:(Ljava/nio/file/Path;)Z
            ifne 3
         2: .line 47
            aload 2 /* path */
            iload 1 /* mode */
            invokestatic org.codehaus.plexus.util.NioFiles.getPermissions:(I)Ljava/util/Set;
            invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
            pop
         3: .line 49
      StackMap locals: java.nio.file.Path
      StackMap stack:
            return
        end local 2 // java.nio.file.Path path
        end local 1 // int mode
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  file  Ljava/io/File;
            0    4     1  mode  I
            1    4     2  path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  
      mode  

  private static java.util.Set<java.nio.file.attribute.PosixFilePermission> getPermissions(int);
    descriptor: (I)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int mode
         0: .line 54
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* perms */
        start local 1 // java.util.Set perms
         1: .line 56
            iload 0 /* mode */
            sipush 256
            iand
            ifle 3
         2: .line 58
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OWNER_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 60
      StackMap locals: java.util.Set
      StackMap stack:
            iload 0 /* mode */
            sipush 128
            iand
            ifle 5
         4: .line 62
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OWNER_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 64
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            bipush 64
            iand
            ifle 7
         6: .line 66
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OWNER_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 69
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            bipush 32
            iand
            ifle 9
         8: .line 71
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 73
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            bipush 16
            iand
            ifle 11
        10: .line 75
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 77
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            bipush 8
            iand
            ifle 13
        12: .line 79
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 82
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            iconst_4
            iand
            ifle 15
        14: .line 84
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 86
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            iconst_2
            iand
            ifle 17
        16: .line 88
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        17: .line 90
      StackMap locals:
      StackMap stack:
            iload 0 /* mode */
            iconst_1
            iand
            ifle 19
        18: .line 92
            aload 1 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 94
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            areturn
        end local 1 // java.util.Set perms
        end local 0 // int mode
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   mode  I
            1   20     1  perms  Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
    Signature: (I)Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
    MethodParameters:
      Name  Flags
      mode  

  public static long getLastModified(java.io.File);
    descriptor: (Ljava/io/File;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 100
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
            astore 1 /* basicFileAttributes */
        start local 1 // java.nio.file.attribute.BasicFileAttributes basicFileAttributes
         1: .line 101
            aload 1 /* basicFileAttributes */
            invokeinterface java.nio.file.attribute.BasicFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toMillis:()J
            lreturn
        end local 1 // java.nio.file.attribute.BasicFileAttributes basicFileAttributes
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 file  Ljava/io/File;
            1    2     1  basicFileAttributes  Ljava/nio/file/attribute/BasicFileAttributes;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.io.File readSymbolicLink(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.io.File symlink
         0: .line 115
            aload 0 /* symlink */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readSymbolicLink:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 1 /* path */
        start local 1 // java.nio.file.Path path
         1: .line 116
            aload 1 /* path */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            areturn
        end local 1 // java.nio.file.Path path
        end local 0 // java.io.File symlink
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  symlink  Ljava/io/File;
            1    2     1     path  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      symlink  

  public static java.io.File createSymbolicLink(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.io.File symlink
        start local 1 // java.io.File target
         0: .line 122
            aload 0 /* symlink */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 2 /* link */
        start local 2 // java.nio.file.Path link
         1: .line 123
            aload 2 /* link */
            iconst_1
            anewarray java.nio.file.LinkOption
            dup
            iconst_0
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            aastore
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 3
         2: .line 125
            aload 2 /* link */
            invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
         3: .line 127
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* link */
            aload 1 /* target */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createSymbolicLink:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            astore 2 /* link */
         4: .line 128
            aload 2 /* link */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            areturn
        end local 2 // java.nio.file.Path link
        end local 1 // java.io.File target
        end local 0 // java.io.File symlink
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  symlink  Ljava/io/File;
            0    5     1   target  Ljava/io/File;
            1    5     2     link  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      symlink  
      target   

  public static boolean deleteIfExists(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 134
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public static java.io.File copy(java.io.File, java.io.File);
    descriptor: (Ljava/io/File;Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.io.File source
        start local 1 // java.io.File target
         0: .line 140
            aload 0 /* source */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            aload 1 /* target */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_2
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            aastore
            dup
            iconst_1
         1: .line 141
            getstatic java.nio.file.StandardCopyOption.COPY_ATTRIBUTES:Ljava/nio/file/StandardCopyOption;
            aastore
         2: .line 140
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            astore 2 /* copy */
        start local 2 // java.nio.file.Path copy
         3: .line 142
            aload 2 /* copy */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            areturn
        end local 2 // java.nio.file.Path copy
        end local 1 // java.io.File target
        end local 0 // java.io.File source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  source  Ljava/io/File;
            0    4     1  target  Ljava/io/File;
            3    4     2    copy  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  
      target  
}
SourceFile: "NioFiles.java"