我有一个Web Start应用程序,需要保存单个文本文件.我想知道我应该在哪里编写文件,这样它就可以放在一个整洁的地方,无论它运行的是什么平台.
如果我得到这样的文件路径......
new File(System.getProperty("user.dir") + System.getProperty("file.separator") + "test.txt);
...然后在Linux上的文件写得很好而且不显眼,但在Windows上的桌面上,以及我正在运行程序的图标,这并不理想,因为用户不一定需要知道或关心该文件存在.
是否有一种良好的,与平台无关的获取文件路径的方式,允许我将文件保存在某处谨慎?我不太关心它最终的位置,只要它不在桌面上的完整视图中.
谢谢.
尼尔
user.dir
是当前的工作目录; 使用user.home
而不是java.io.tmpdir
临时文件.
这是Java 1.5 的预定义属性列表.
那么使用.yourapp
目录user.home
呢?您不应该遇到任何权限问题,Windows用户不会真正注意到它,它将隐藏在GNU/Linux上.
对于临时的东西,您可能更喜欢java.io.tmpdir
但请记住,此目录(/tmp
在GNU/Linux上)的内容可能会在重新启动时消失(例如,使用Debian发行版).所以这真的是暂时的东西.
PS:我更喜欢使用File.separator
过System.getProperty("file.separator")
.
我强烈建议使用PersistenceService
.