windows - 各个平台的用户私有(private)临时存储在哪里?

标签 windows linux macos solaris

我需要创建一个充满数据文件的目录。这些文件是临时的用户私有(private)文件。

虽然这些文件是临时的,被系统删除了也没关系,但是文件很多,我想 如果可以的话,重用它们。此外,我希望其他应用程序(以同一用户身份运行)也能访问/创建这些文件。这意味着我需要一个适用于不同编程语言的标准协议(protocol)。

因为我知道有人会建议它,所以我不想使用 '/tmp' 或 '%TEMP% 或 java 系统属性 java.io.tmpdir。 这些目录是系统范围内的。我也非常有兴趣寻找平台标准或平台批准的方法,而不是仅仅找到有效的解决方案。

我正在尝试收集一份列表,列出在不同平台上可以找到这些文件的位置。以下是我目前所拥有的,但我非常感谢其他平台和/或对我已经发现的内容的验证。

最佳答案

在 Mac OS X 上,您有几个选择:

$TMPDIR 实际上是用户范围的。它是/var/folders 中的一个目录,但是。在那里,有一个特定于用户的目录层次结构。 $TMPDIR 指向的特定目录不允许除用户以外的任何人读取。这就是 Cocoa 函数 NSTemporaryDirectory() 返回的内容。

您也可以使用 ~/Library/Caches/CompanyOrProductName。系统不会自动清除它,但它不会包含在 Time Machine 备份中,用户可以随意对其进行核对。

您不应使用 ~/Library/CompanyName。也许您正在考虑 ~/Library/Application Support/CompanyName?这可能是合适的,但通常不适用于临时的东西。

关于windows - 各个平台的用户私有(private)临时存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060412/

相关文章:

java - 在我的 WSL Kali linux 上安装 jdk 时出现语法错误

linux - 如何在 linux 上从 php 运行 imageoptim?

macos - 错误 : getOptRdata - unknown opt 4

c - 在 Xcode 中构建旧的 unix C 项目时指针给出错误?

c - 从 C 程序调用 GCC 时抑制错误输出

C++ 入口点 -> main()

php - Unix 时间戳到 LDAP 时间戳

python - PySide/PyQt 如何创建一个新的窗口按钮?

c++ - 如何解决 mac 中的 qt5(未找到软件包)cmake 错误?

具有大型数组的 Windows 上的 Python 多处理