什么是等效的/ tmp最好的Windows?

我想提高Java应用程序的跨平台特性。 然而,它的测试套件目前假定存在/tmp目录。

什么是在Windows平台上的最佳位置,相当于? 注:我最肯定不希望承担用户具有管理员权限,但我不希望它的工作至少在XP,Vista和Windows7的。

是否有一个现有的环境变量 ,将有助于和/或一组优先位置我可以尝试按优先顺序?

--------------解决方案-------------

系统属性java.io.tmpdir可用于用户的临时目录:

File tmp = new File(System.getProperty("java.io.tmpdir"));

这可能是优于File.createTempFile其中,在任何情况下,使用tmpdir系统属性引擎盖下)的情况下,你搜索的临时文件(例如,从您的应用程序,以前调用缓存的数据,听起来像它可能是从你的问题的情况下)。

您可以通过在命令行上提供了一个运行时倍率(一个修改系统属性的值JVM参数-Djava.io.tmpdir=C:\foo\bar

注:“斜杠”的问题descibed在评论塞特的回答下面,可避免使用相关File的构造函数:

String fileName = "foobar.txt"
String tmpPath = System.getProperty("java.io.tmpdir");
File tmpFile;
tmpFile = new File(tmpPath + File.separator + fileName); //possible problem
tmpFile = new File(new File(tmpPath), fileName); //OK!

显然,窗户也有一个DOS环境变量%TEMP%这可能是从您有任何脚本中使用

为什么不使用java.io.File.createTempFile()

Windows定义的环境变量TEMP和TMP既给当前用户的临时文件夹。

使用File.createTempFile("myPrefix","mySuffix")

如果你想坚持做的东西是特定的窗口,你可以使用%temp%环境变量。

分类:java的 时间:2015-03-15 人气:28
本文关键词: UNIX,Windows和Java的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.771 (s). 11 q(s)