Ton*_*y R 9 java windows filesystems directory temp
我正在编写一个需要通用临时文件夹的程序.我正在尝试查找有关Windows Temp文件夹的详细信息.我知道有两条路 -
在AppData\Local\Temp \下的每个用户目录中,这可能会因Windows版本而有所变化?
在Temp \(C:\ Windows\Temp)下的系统文件夹中
我想知道Windows究竟对这些做了什么.如果Windows从任一位置删除文件,它何时会这样做?我应该如何/应该使用这些目录进行编程?
编辑:我实际上有一个更大的问题 - 由于某个引擎我间接运行我的程序,它使用我在临时目录中创建的文件,我需要一个不使用路径中的空格字符的临时目录.Windows上的Java的System.getProperty("java.io.tmpdir")为我提供了用户目录中的临时文件,在XP上的文档和设置...不好.有什么建议?这就是为什么我想知道C:\ Windows\Temp \目录......
chi*_*nto 10
这将为您提供Java中Windows临时目录的路径.
File.createTempFile("temp-file", "tmp").getParent()
Run Code Online (Sandbox Code Playgroud)
不完全的。有一个用户和系统文件夹,其默认位置根据 Windows 版本、系统文件夹名称而变化,实际上在旧版本的 Windows 中,用户和系统情况都是相同的。但是,这些默认值可以被覆盖(它们位于我现在使用的系统上,它们与系统文件夹不在同一驱动器上)。
这些位置存储在系统变量中。一些框架(.NET、VB6,毫无疑问还有其他框架)为您提供了查找路径的便捷方法,而不必查找系统变量(例如.NET 中的 System.IO.Path.GetTempPath)。
Windows 不会为您清理临时文件夹(这就是为什么值得每隔几个月在您自己的计算机上清除旧文件),这取决于您是否玩得好。创建一个或多个不太可能使用任何其他软件正在使用的名称的文件(它们应该注意做同样的事情,因此任何名称都应该这样做,但假设系统上其他代码的最坏情况总是好的),并且完成后删除文件(或至少在应用程序退出时)。
在.NET中,System.IO.Path.GetTempFileName()将在临时区域中创建一个新文件并将其名称返回给您,这可以合理地保证不会与其他文件发生冲突,因此如果可以的话请使用该方法或类似的方法。
| 归档时间: |
|
| 查看次数: |
32218 次 |
| 最近记录: |