创建文件以供以后在java中使用

时间:2012-04-11 02:27:03

标签: java file

我正在编写一个Java应用程序,它编写了许多文件,然后读取文件中的值。我使用InstallShield在C:\Program Files下安装应用程序,这是通常创建临时文件的地方。但是,在使用Windows 7时,文件是在用户临时文件夹下创建的,而是使用随机名称。

这是我的代码......

File usersTemp = File.createTempFile("users", null,temp);

这是生成的文件......

C:\Users\TP\AppData\Local\Temp\users2343200092608531612.tmp

由于文件是使用随机数生成的,因此很难将文件检索回来进行处理。有一个更好的方法吗?

3 个答案:

答案 0 :(得分:2)

除非您以超级用户身份运行(您可能不是),否则您只能编辑用户主目录中的文件,您可以使用user.home system property找到该文件:

System.getProperty("user.home")

因此,如果您想将文件保存在应用程序的应用程序数据文件夹中:

File appDataFolder = new File(System.getProperty("user.home"), "Local Settings\\Application Data\\YourProgramName");

然后保存在该文件夹下的内容,它们会一直存在。

答案 1 :(得分:1)

有什么理由不能正常保存文件(根据需要命名)?我为Windows 7编写了许多Java程序,并且在保存文件时没有任何问题。

只需使用FileOutputStream或您通常用于保存文件的任何方法。

答案 2 :(得分:1)

Temp文件的定义是它应该只存在很短的时间。您似乎想要创建一个将持续较长时间的文件,可能在应用程序的运行之间保留?如果是这种情况,您应该创建一个具有正确名称的文件......

new File("c:\filename.txt").createNewFile();

这样,无论您在哪个操作系统上运行应用程序,都可以选择适合的目录和名称。