Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java永久保存数据(并自动加载)?_Java - Fatal编程技术网

用Java永久保存数据(并自动加载)?

用Java永久保存数据(并自动加载)?,java,Java,我想保存数据(只是可以存储在一个小文本文件中的字符串),并在应用程序启动时自动将其加载到应用程序中。 我想象程序安装目录中有一个文本文件,但我不知道这是否可行。程序如何知道安装它的目录的路径? 或者我应该要求用户第一次告诉程序位置,然后程序以某种方式保存此位置信息吗 它应该可以在Windows、Mac和Linux上运行。我通常使用System.getProperty(“user.home”)来获取不同平台上的默认主目录。一种简单可靠的方法是使用以下内容: String fileLocation

我想保存数据(只是可以存储在一个小文本文件中的字符串),并在应用程序启动时自动将其加载到应用程序中。 我想象程序安装目录中有一个文本文件,但我不知道这是否可行。程序如何知道安装它的目录的路径? 或者我应该要求用户第一次告诉程序位置,然后程序以某种方式保存此位置信息吗


它应该可以在Windows、Mac和Linux上运行。

我通常使用
System.getProperty(“user.home”)
来获取不同平台上的默认主目录。一种简单可靠的方法是使用以下内容:

String fileLocation = new StringBuilder(System.getProperty("user.home"))
                                          .append(File.separator)
                                          .append("myApplicationDir")
                                          .append(File.separator)
                                          .append("fileName.txt")
                                          .toString();
至于

..并在应用程序启动时自动将其加载到应用程序中


我建议存储一个相对于
JAR
存储元数据的文件。或者,您可以只保存一个存储有静态常量的实用程序类,以便找出应用程序存储的目录是什么,然后在调用任何对象的构造函数或在任何回调上使用它来检索它

使用相对路径,基本上是/myDocuments/myText.txt。您可能还需要查看Preferences API。