■ 一時ディレクトリ取得
例えば、Linuxの「/tmp」や Windowsの「C:\Users\User1\AppData\Local\Temp\」* System.getProperty("java.io.tmpdir") で取得できる
■ 一時ディレクトリ作成
* Files.createDirectories() を使うhttps://docs.oracle.com/javase/jp/7/api/java/nio/file/Files.html
サンプル
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class Sample { public static void main(String[] args) { String tmpDirectory = System.getProperty("java.io.tmpdir"); System.out.println("java.io.tmpdir = " + tmpDirectory); try { Path tempPath = Files.createTempDirectory(Paths.get(tmpDirectory), "prefix_"); System.out.println("tempPath.toString() = " + tempPath.toString()); } catch (IOException ex) { System.err.println(ex.getMessage()); } } }出力結果
java.io.tmpdir = C:\Users\User1\AppData\Local\Temp\ tempPath.toString() = C:\Users\User1\AppData\Local\Temp\prefix_2530568906699906177
■ 一時ファイル作成
* java.io.File.createTempFile() を使う or * java.nio.file.Files.createTempFile() を使う
サンプル
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; public class Sample { public static void main(String[] args) { System.out.println("java.io.tmpdir = " + System.getProperty("java.io.tmpdir")); try { File tempFile = File.createTempFile("pre", ".temp"); System.out.println("tempFile.getPath() = " + tempFile.getPath()); } catch (IOException ex) { System.err.println(ex.getMessage()); } try { Path tempPath = Files.createTempFile("pre", ".temp"); System.out.println("tempPath.toString(1) = " + tempPath.toString()); } catch (IOException ex) { System.err.println(ex.getMessage()); } try { Path tempPath = Files.createTempFile(null, null); System.out.println("tempPath.toString(2) = " + tempPath.toString()); } catch (IOException ex) { System.err.println(ex.getMessage()); } } }出力結果
java.io.tmpdir = C:\Users\User1\AppData\Local\Temp\ tempFile.getPath() = C:\Users\User1\AppData\Local\Temp\pre4189128725356324852.temp tempPath.toString(1) = C:\Users\User1\AppData\Local\Temp\pre8850011417096134165.temp tempPath.toString(2) = C:\Users\User1\AppData\Local\Temp\8968596909994876059.tmp
参考文献
http://hensa40.cutegirl.jp/archives/787https://qiita.com/sbydik/items/7a0967187eacbd839c51