所以我需要客户端在本地存储服务器地址等,并且还加密但是应该保存文件的位置,因为我已经尝试将其放在Program Files文件夹中但是我收到错误。它适用于Mac但不适用于Windows。
/**
* 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保存路径会出现此错误。
任何建议都将不胜感激。感谢。
答案 0 :(得分:1)
此异常是否发生在获取Windows文件位置的行或稍后的某个时刻?通常这样的异常意味着你的代码被执行不止一次,你会得到递归重复调用,最终导致堆栈溢出。
这里要做的第一件事是调试代码并查看何时发生这种异常。隔离代码后,您就可以解决问题。
另一个注意事项 - 您在调用UI相关操作时使用 SwingUtilities.invokeLater(Runnable)吗?在处理Java Swing UI时,这是必须的。