|
|
@@ -105,16 +105,22 @@ public class TempDir extends File implements Closeable { |
|
|
|
|
|
|
|
public TempDir () { this("700"); } |
|
|
|
|
|
|
|
public TempDir (String chmod) { |
|
|
|
super(abs(_tempdir())); |
|
|
|
public TempDir (File dir) { this(dir, "700"); } |
|
|
|
|
|
|
|
public TempDir (String chmod) { this(null, chmod); } |
|
|
|
|
|
|
|
public TempDir (File dir, String chmod) { |
|
|
|
super(abs(_tempdir(dir))); |
|
|
|
file = new File(super.getPath()); |
|
|
|
chmod(file, chmod); |
|
|
|
} |
|
|
|
|
|
|
|
private static Path _tempdir() { |
|
|
|
private static Path _tempdir(File dir) { |
|
|
|
try { |
|
|
|
final Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwx------"); |
|
|
|
return Files.createTempDirectory("tempDir", PosixFilePermissions.asFileAttribute(perms)); |
|
|
|
return dir == null |
|
|
|
? Files.createTempDirectory("tempDir", PosixFilePermissions.asFileAttribute(perms)) |
|
|
|
: Files.createTempDirectory(dir.toPath(), "tempDir", PosixFilePermissions.asFileAttribute(perms)); |
|
|
|
} catch (IOException e) { |
|
|
|
return die("_tempdir: "+shortError(e), e); |
|
|
|
} |
|
|
|