class java.nio.file.TempFileHelper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.nio.file.TempFileHelper
super_class: java.lang.Object
{
private static final java.nio.file.Path tmpdir;
descriptor: Ljava/nio/file/Path;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean isPosix;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "java.io.tmpdir"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Path.of:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
1: putstatic java.nio.file.TempFileHelper.tmpdir:Ljava/nio/file/Path;
2: invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
invokevirtual java.nio.file.FileSystem.supportedFileAttributeViews:()Ljava/util/Set;
ldc "posix"
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
3: putstatic java.nio.file.TempFileHelper.isPosix:Z
4: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putstatic java.nio.file.TempFileHelper.random:Ljava/security/SecureRandom;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/nio/file/TempFileHelper;
private static java.nio.file.Path generatePath(java.lang.String, java.lang.String, java.nio.file.Path);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.nio.file.TempFileHelper.random:Ljava/security/SecureRandom;
invokevirtual java.security.SecureRandom.nextLong:()J
lstore 3
start local 3 1: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokestatic java.lang.Long.toUnsignedString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 2: aload 2
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
aload 5
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 3: aload 6
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
ifnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Invalid prefix or suffix"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: long java.lang.String java.nio.file.Path
StackMap stack:
aload 2
aload 6
invokeinterface java.nio.file.Path.resolve:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 prefix Ljava/lang/String;
0 6 1 suffix Ljava/lang/String;
0 6 2 dir Ljava/nio/file/Path;
1 6 3 n J
2 6 5 s Ljava/lang/String;
3 6 6 name Ljava/nio/file/Path;
MethodParameters:
Name Flags
prefix
suffix
dir
private static java.nio.file.Path create(java.nio.file.Path, java.lang.String, java.lang.String, boolean, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: ldc ""
astore 1
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
3: iload 3
ifeq 4
ldc ""
goto 5
StackMap locals:
StackMap stack:
4: ldc ".tmp"
StackMap locals:
StackMap stack: java.lang.String
5: astore 2
6: StackMap locals:
StackMap stack:
aload 0
ifnonnull 8
7: getstatic java.nio.file.TempFileHelper.tmpdir:Ljava/nio/file/Path;
astore 0
8: StackMap locals:
StackMap stack:
getstatic java.nio.file.TempFileHelper.isPosix:Z
ifeq 31
aload 0
invokeinterface java.nio.file.Path.getFileSystem:()Ljava/nio/file/FileSystem;
invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
if_acmpne 31
9: aload 4
arraylength
ifne 15
10: iconst_1
anewarray java.nio.file.attribute.FileAttribute
astore 4
11: aload 4
iconst_0
iload 3
ifeq 12
getstatic java.nio.file.TempFileHelper$PosixPermissions.dirPermissions:Ljava/nio/file/attribute/FileAttribute;
goto 13
12: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[]
StackMap stack: java.nio.file.attribute.FileAttribute[] int
getstatic java.nio.file.TempFileHelper$PosixPermissions.filePermissions:Ljava/nio/file/attribute/FileAttribute;
13: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[]
StackMap stack: java.nio.file.attribute.FileAttribute[] int java.nio.file.attribute.FileAttribute
aastore
14: goto 31
15: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 16: iconst_0
istore 6
start local 6 17: goto 22
18: StackMap locals: int int
StackMap stack:
aload 4
iload 6
aaload
invokeinterface java.nio.file.attribute.FileAttribute.name:()Ljava/lang/String;
ldc "posix:permissions"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: iconst_1
istore 5
20: goto 23
21: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
aload 4
arraylength
if_icmplt 18
end local 6 23: StackMap locals:
StackMap stack:
iload 5
ifne 31
24: aload 4
arraylength
iconst_1
iadd
anewarray java.nio.file.attribute.FileAttribute
astore 6
start local 6 25: aload 4
iconst_0
aload 6
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
26: aload 6
astore 4
27: aload 4
aload 4
arraylength
iconst_1
isub
iload 3
ifeq 29
28: getstatic java.nio.file.TempFileHelper$PosixPermissions.dirPermissions:Ljava/nio/file/attribute/FileAttribute;
goto 30
29: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] int java.nio.file.attribute.FileAttribute[]
StackMap stack: java.nio.file.attribute.FileAttribute[] int
getstatic java.nio.file.TempFileHelper$PosixPermissions.filePermissions:Ljava/nio/file/attribute/FileAttribute;
30: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] int java.nio.file.attribute.FileAttribute[]
StackMap stack: java.nio.file.attribute.FileAttribute[] int java.nio.file.attribute.FileAttribute
aastore
end local 6 end local 5 31: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 32: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
aload 2
aload 0
invokestatic java.nio.file.TempFileHelper.generatePath:(Ljava/lang/String;Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 6
start local 6 33: goto 38
end local 6 StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
34: astore 7
start local 7 35: aload 5
ifnull 37
36: new java.lang.IllegalArgumentException
dup
ldc "Invalid prefix or suffix"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] java.lang.SecurityManager top java.nio.file.InvalidPathException
StackMap stack:
aload 7
athrow
end local 7 start local 6 38: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] java.lang.SecurityManager java.nio.file.Path
StackMap stack:
iload 3
ifeq 41
39: aload 6
aload 4
invokestatic java.nio.file.Files.createDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
40: areturn
41: StackMap locals:
StackMap stack:
aload 6
aload 4
invokestatic java.nio.file.Files.createFile:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
42: areturn
43: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 7
start local 7 44: aload 0
getstatic java.nio.file.TempFileHelper.tmpdir:Ljava/nio/file/Path;
if_acmpne 46
aload 5
ifnull 46
45: new java.lang.SecurityException
dup
ldc "Unable to create temporary file or directory"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals: java.lang.SecurityException
StackMap stack:
aload 7
athrow
end local 7 47: StackMap locals: java.nio.file.Path java.lang.String java.lang.String int java.nio.file.attribute.FileAttribute[] java.lang.SecurityManager java.nio.file.Path
StackMap stack: java.nio.file.FileAlreadyExistsException
pop
end local 6 48: goto 32
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 dir Ljava/nio/file/Path;
0 49 1 prefix Ljava/lang/String;
0 49 2 suffix Ljava/lang/String;
0 49 3 createDirectory Z
0 49 4 attrs [Ljava/nio/file/attribute/FileAttribute;
16 31 5 hasPermissions Z
17 23 6 i I
25 31 6 copy [Ljava/nio/file/attribute/FileAttribute;
32 49 5 sm Ljava/lang/SecurityManager;
33 34 6 f Ljava/nio/file/Path;
38 48 6 f Ljava/nio/file/Path;
35 38 7 e Ljava/nio/file/InvalidPathException;
44 47 7 e Ljava/lang/SecurityException;
Exception table:
from to target type
32 33 34 Class java.nio.file.InvalidPathException
38 40 43 Class java.lang.SecurityException
41 42 43 Class java.lang.SecurityException
38 40 47 Class java.nio.file.FileAlreadyExistsException
41 42 47 Class java.nio.file.FileAlreadyExistsException
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
dir
prefix
suffix
createDirectory
attrs
static java.nio.file.Path createTempFile(java.nio.file.Path, java.lang.String, java.lang.String, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_0
aload 3
invokestatic java.nio.file.TempFileHelper.create:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dir Ljava/nio/file/Path;
0 1 1 prefix Ljava/lang/String;
0 1 2 suffix Ljava/lang/String;
0 1 3 attrs [Ljava/nio/file/attribute/FileAttribute;
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
dir
prefix
suffix
attrs
static java.nio.file.Path createTempDirectory(java.nio.file.Path, java.lang.String, java.nio.file.attribute.FileAttribute<?>[]);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
iconst_1
aload 2
invokestatic java.nio.file.TempFileHelper.create:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Z[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 dir Ljava/nio/file/Path;
0 1 1 prefix Ljava/lang/String;
0 1 2 attrs [Ljava/nio/file/attribute/FileAttribute;
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute<*>;)Ljava/nio/file/Path;
MethodParameters:
Name Flags
dir
prefix
attrs
}
SourceFile: "TempFileHelper.java"
NestMembers:
java.nio.file.TempFileHelper$PosixPermissions
InnerClasses:
private PosixPermissions = java.nio.file.TempFileHelper$PosixPermissions of java.nio.file.TempFileHelper