繁体   English   中英

在Java中创建独立程序包并从配置文件中进行一些设置

[英]Creating a standalone package in java and take some settings from the configuration file

任何人请让我们知道当我们有一些基本为xml的配置文件时该怎么办。例如,我想提供从某些配置文件(在我的情况下为xml)将图像(对于Java程序)保存在文件夹中的路径在那种情况下应该保留配置文件。现在我创建一个Java独立程序包时,所有东西都会转换为jar文件,但是我想从xml文件中进行一些设置。在这种情况下该怎么办。本文仅提供了为Java项目创建单个jar文件的内容,但没有提及您可以从某些外部来源提供的配置设置。

问候萨加尔

我不确定我是否完全理解您的问题,但是如果要将XML文件和配置信息放在哪里,则可以将XML文件放置在与jar文件相同的目录中,然后将XML文件名和路径传递到调用Jar时,在命令行上使用Jar。 如果您在Windows中运行它,通常可以使用快捷方式来完成。 然后,您可以从接受命令参数的主方法的String [] arg数组中获取Jar的完整路径字符串。

萨加尔

您的Java程序是独立程序包(.jar文件)的事实与配置文件的存储位置无关。 您的java包是一个程序,该程序可以从文件系统中读取所需的任何文件; 它不必是IDE里面的代码的一部分,即你没有当你写程序写出来。 您需要做的是在启动程序时以某种方式查找和读取所述配置文件。

根据您期望程序配置的方式,可以将该文件放置在多个位置。 例如,/ etc / yourimageprogram / config.xml或c:\\ program files \\ yourimageprogram \\ config.xml或c:\\ users \\ Sagar \\ Application Settings \\ yourimageprogram \\ config.xml。 您从这些选项中选择哪种实际上取决于用例,而我对此无能为力。

但是,读取任何文件有一些要点:

  • 是否存在?
  • 我们可以打开它阅读吗?
  • 我们可以打开它进行写作吗? 可能想知道我们是否要更新配置?

通常,在Java中,您可以使用以下方法进行测试:

File configfile = new File("C:\test.xml");
if ( configfile.exists() && configfile.canRead() )
{
    // read the file
}
else
{
    // decide what to do if no config exists.
    // might be first run of app.
}

下一步是解析文件。 有许多可用于XML的解析器,包括sax和org.w3c.dom。 您需要做的是使用这些信息提取所需的信息并将其存储在类中。 可能是单例类,因为您不太可能在程序的每个实例中拥有多个配置实例。

我建议您阅读Java下的 XML解析器文件处理 还要看一下File对象。 在Java中查看文件io的所有选项 这些应该给您一些指示如何进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM