ソースを参照

remove dependency on google io for TempDir

master
Jonathan Cobb 4年前
コミット
a31b3687f1
1個のファイルの変更17行の追加4行の削除
  1. +17
    -4
      src/main/java/org/cobbzilla/util/io/TempDir.java

+ 17
- 4
src/main/java/org/cobbzilla/util/io/TempDir.java ファイルの表示

@@ -1,16 +1,20 @@
package org.cobbzilla.util.io;

import com.google.common.io.Files;
import lombok.AllArgsConstructor;
import lombok.Delegate;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Delegate;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;

import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.Set;
import java.util.SortedSet;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.TimeUnit;
@@ -97,16 +101,25 @@ public class TempDir extends File implements Closeable {
private interface TempDirOverrides { boolean delete(); }

@Delegate(excludes=TempDirOverrides.class)
private File file;
private final File file;

public TempDir () { this("700"); }

public TempDir (String chmod) {
super(abs(Files.createTempDir()));
super(abs(_tempdir()));
file = new File(super.getPath());
chmod(file, chmod);
}

private static Path _tempdir() {
try {
final Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwx------");
return Files.createTempDirectory("tempDir", PosixFilePermissions.asFileAttribute(perms));
} catch (IOException e) {
return die("_tempdir: "+shortError(e), e);
}
}

public void killAfter (long t) {
killAfter(this, t);
}


読み込み中…
キャンセル
保存