有没有办法在我的Java应用程序的主目录中创建一个文件夹(具有特定名称)。我在我的游戏中有一个用户系统,并且每当创建一个新用户时,我都希望它创建一个文件夹来存储所有进度(并且文件夹名称应该是他们放入的名称)。如何在我的Java应用程序的根目录中创建一个文件夹?
例如:
从这:
为了这个(只是进入游戏中的用户名):
有没有办法在我的Java应用程序的主目录中创建一个文件夹(具有特定名称)。我在我的游戏中有一个用户系统,并且每当创建一个新用户时,我都希望它创建一个文件夹来存储所有进度(并且文件夹名称应该是他们放入的名称)。如何在我的Java应用程序的根目录中创建一个文件夹?
例如:
从这:
为了这个(只是进入游戏中的用户名):
File f = new File("TestDir");
try{
if(f.mkdir())
System.out.println("Directory Created");
else
System.out.println("Directory is not created");
}catch(Exception e){
e.printStacktrace();
}
如果主目录您的应用程序的工作直接,您可以创建一个目录与
new File("new-dir").mkdir();
定义 “您的Java应用程序的主目录”?没有这样的野兽。
出于安全考虑,您在做这类事情时要非常小心。最好在属性文件中定义一个目录,并将其用作应用程序的基础目录。然后,如前所述,这只是使用.mkdir{,s}()
来实现你想要的。
而@ C.Reed也正确地说你应该检查mkdir()
的返回值:Java的File API有很大的缺陷,因为当目录/文件创建/移动失败时它不会引发异常。幸运的是,Java 1.7将通过其新的API来解决这个问题。
(我遇到的一个例子是看到的代码不能在.move()
附近找到一个文件:问题在于它在dev的机器上工作,但在生产机器上该目录被移动到另一个文件系统上 - > havoc )
提示:使用Apache的commons-io
建立子目录的已知和可重复的路径的内的目录。
user.home
- 这应该是游戏可以读取和写入的目录。
f.mkdir()中的'd'应该是小写。 – 2012-01-01 13:12:40