2017-01-20 9 views
0

私のCドライブにある.txtファイルからのデータを保存/呼び出しするJavaプログラムがあります。現在、これらのファイルパスはJavaプログラムにハードコードされています。ユーザ定義のファイルパス(Java)から外部リソースへのアクセス

私はこのソフトウェアを配布しようとしていますが、インストール中にユーザーがファイルの場所を指定できるようにするにはどうすればいいですか?そしてハードコーディングせずにこの場所にプログラムをポイントできます。

これはかなり標準的な機能ですが、私はそれを達成する方法を見つけるのに苦労しました。相対ファイルパスを使用できますか?つまり、.txtファイルと同じフォルダにあるJavaプログラムの.exeを使用するか、Windowsレジストリパスのようなものを使用する必要がありますか?

ご協力いただきありがとうございます。

乾杯、 ロビン

+0

私は自分自身とユーザーを救うでしょう。 "user.home" +あなたのフォルダを場所として使用してください。ほとんどのものは、デフォルトではホームディレクトリに保存されています:maven、ssh、gradle、shell history。別の方法でそれを回転させる必要はありません – efekctive

+0

あなたの答えをお寄せいただきありがとうございます。これは単にC:/ Users/Personフォルダに入れて、それを常にインストールされる既知の場所として修正していますか?これは本質的に "ユーザー"のルートの場所をハードコーディングするより良い方法です –

+0

はい。あなたが親ディレクトリSystem.getProperty( "user.home")で始まるパスを構築するとき。 \と/ – efekctive

答えて

1

がパスのルートとして、システムのプロパティ「のuser.home」を使用してください。最近インストールされたほとんどのものは、このシステムプロパティを親ディレクトリとあらかじめ定義されたフォルダとして使用します。これらは多くの問題を軽減します。さらなる移植性の問題を避けるために、File.separator charと組み合わせてください。

関連する問題