在Java项目中保存配置文件的位置
所以我需要客户端来存储服务器地址等。。。本地,也有它加密,但该文件应保存在哪里,因为我已经尝试把它放在程序文件文件夹,但我得到一个错误。它在mac电脑上运行良好,但在windows上不起作用在Java项目中保存配置文件的位置,java,io,config,Java,Io,Config,所以我需要客户端来存储服务器地址等。。。本地,也有它加密,但该文件应保存在哪里,因为我已经尝试把它放在程序文件文件夹,但我得到一个错误。它在mac电脑上运行良好,但在windows上不起作用 /** * Gets the path to the configuration file * dependent on the operating system. * * @return File Path {@code File} */ pu
/**
* Gets the path to the configuration file
* dependent on the operating system.
*
* @return File Path {@code File}
*/
public File getOSConfigurationPath () {
File file;
if (System.getProperty("os.name").startsWith("Windows")) {
file = new File (System.getProperty("user.home") + "/Program Files/AutoSales/Configuration.txt");
} else {
file = new File (System.getProperty("user.home") + "/Library/Application Support/AutoSales/Configuration.txt");
}
return file;
}
返回^^^^的文件如下所示
} else {
file.createNewFile();
System.out.println("New Config File Created");
}
由于某些原因,Windows保存路径会出现此错误
如有任何建议,将不胜感激。谢谢。此异常是否发生在获取Windows文件位置的行上,还是在以后某个时间?通常这种异常意味着您的代码被执行了不止一次,并且您得到了递归的重复调用,这最终会导致堆栈溢出 这里要做的第一件事是调试代码并查看此异常何时发生。一旦您隔离了代码,您就能够解决这个问题 另一个注意事项-在调用UI相关操作时,是否使用SwingUtilities.invokeLater(Runnable)?在处理JavaSwingUI时,这是必须的
您的异常由
createNewFile()
调用引发,该调用未显示在您发布的代码中。请包含导致错误的代码部分。是的,我的错,我添加了它。您是否尝试将.mkdirs()归档;在file.createNewFile()之前;是的,在用户输入信息之前,它会被反复调用。谢谢