由于某些不寻常的原因,当我为Java Netbean使用FileWriter
时,文件会被写入以下目录:
C: \Users\myname\AppData\Roaming\NetBeans\7.2\config\GF3\domain1
而不是我的工作目录,它在桌面上。
我用这个代码来检查我的用户目录,它返回的是:
System.out.println(System.getProperty("user.dir"))
信息:C:\Users\myname\AppData\Roaming\NetBeans\7.2\config\GF3\domain1
这显然不是我的工作目录,我的源代码就在那里。我以为我可能不小心配置了Netbeans来更改目录,但我检查了Netbeans菜单,不知道如何撤消它。
在我以前的项目中,我从未遇到过这个问题。就像下面的代码一样简单,该文件应该出现在我的工作目录中。
File file = new File("myFile.xml");
相反,现在我被迫输入路径名以将文件保存到我的工作目录中,如果我更改计算机,这将不会是动态的。
String dir = "C:\Users\myname\Desktop\Assignment\IRAssignmentJ\";
File file = new File(dir + "myFile.xml");
请告诉我如何解决这个问题。
而不是我的工作目录,它在桌面上
不,不是。根据定义,当前工作目录是文件保存的位置。若Netbeans选择将目录更改为它保存的位置,那个么您对此无能为力。若您希望它位于主目录中,则有一个系统属性。如果要将其保存到其他位置,请使用完整的路径名。
但是,应用程序在Netbeans下的行为并不令人感兴趣。重要的是,当你像客户一样独立运行它时。