web-dev-qa-db-ja.com

メインのテキストファイルのJava相対パス?

Javaプロジェクトのsrcフォルダーに保存されているテキストファイルへの相対パス名を指定する方法を考えていました。このテキストファイルのパスを含む文字列を保存したいと思います。たとえば、Javaプロジェクトのsrcフォルダーにexample.txtがある場合、相対パスを見つけるにはどうすればよいですか?これをメインでも実行しているので、問題が発生しています。 .getResource()を使用しています。

私のファイルのパスは、Eclipse /MyProject/src/data.txtのプロパティから続きます

私はもう試した:

文字列パス= "/MyProject/src/data.txt";

しかし、それはうまくいきませんか?

11
zProgrammer

Eclipseを使用している場合は、/srcおよび/binフォルダー以外のプロジェクトフォルダーのルートにテキストファイルを配置します。これで、相対パスを介して直接アクセスできるようになります。

Srcフォルダー内のファイルにアクセスする場合は、ファイルのパス/名前の前に/src/プレフィックスを追加する必要があります

16
chiffa

使用 src/プレフィックスをファイルのパス/名前の前に付けます。

String path = "src/data.txt"; 
10
sab

パスは、「Java」コマンドを実行するディレクトリからの相対パスです。

 /opt/projects/myproject>$ Java -cp <whatever your classpath is that contains your class files> com.mycompany.mypackage.MyJavaClass

この場合、MyJavaClassはディレクトリに関連するファイルを検索します
/opt/projects/myproject

これを行う別の方法があります。クラスパスメカニズムを介して見つかるロードリソースを使用できます。

 getClass().getResource("foo.txt");

詳細はこの投稿をご覧ください

Javaでリソースをロードする好ましい方法

3
javadba