0

私は Java を初めて使用しますが、信じられないかもしれませんが、コーディング方法が改善されているので、実際には気に入っています。(コードOOの方法を強制するためだと思います)

とにかく、私はこのようなJavaライブラリを書いています。ベースにはコア ライブラリがあり、その上にいくつかのツールキットが構築されています。

現在、すべてのツールキットに共通のコードの一部があります。

たとえば、そのツールキットの構成ファイルを読み取ります。例: toolkitA/config/config.cfg

config.cfg
inputDir = /path/to/input
outputDir = /path/to/output



toolkitB/config/config.cfg

config.cfg
inputDir = /path/to/input
// no output here.. maybe this toolkit is just to analyze the input

問題は..私はまだツールキットを作成中であるため、これらの構成の多くは不明であり、将来どのツールキットが存在するかさえわかりません。

現在のところ、コード フローは次のとおりです。

 main--> readconfig-->parseconfig--> execute the source code with params. 
  parsed from the source parseconfig

私の重要な質問は、これらの構成ファイルはツールキット レベルにあるため、これらの構成はソース コード ライブラリにまったく接続されないということです。コア ライブラリは、これらのパラメーターが構成ファイルでユーザーによって実際に設定されているという事実を認識していません。今...おそらくJavaのせいかもしれませんが、これは非常に表面的なものだと思います。私が欲しいのはこのようなものです

  main--> a core config file setter which reads and parses this tool kit config file --> 
  the core library then interacts with these  objects rather than the superficial level.

どうすればこれを達成できますか。

(熱心なstackoverflowユーザーであること..私は知っています..実際には「エラー」関連の質問ではありませんが、何を検索するか、またはそのような構成を設定する方法もわかりません..私が持っているのは、これをどのようにしたいかについての考えだけです実装されます.. :( )

4

1 に答える 1

2

ええと...あなたのcfgファイルはPropertiesのようなもので、これはロードで "InputStream" を受け入れます

次に、これらの構成をクラスパスに投稿し、 getResourceAsStreamを使用して InputStreams としてロードできます。

InputStream is = Object.class.getClass().getResourceAsStream(CONFIG_FILE);
Properties cfg = new Properties();
cfg.load(is);
于 2013-01-06T13:21:35.057 に答える