Java プロジェクト ファイル内にファイルを置き、それを読みたいのですが、Java でパス名を見つけるにはどうすればよいですか。
ここではCドライバーに入れましたが、ファイルの名前を書くだけでパスを見つけたいだけです。そのための機能はありますか?
FileInputStream fstream1 = new FileInputStream("C:/en-GB.dic");
ファイルがプロジェクト用に生成された jar ファイル内 (または通常、プロジェクトで使用されるクラスパス内) にあるcom.foo.bar
場合、 package の下で、次を使用してロードできます。
SomeClassOfYourProject.class.getResourceAsStream("/com/foo/bar/en-GB.dic");
クラスパスになく、ディレクトリから (java.exe を使用して) アプリケーションを起動しc:\baz
、ファイルが の下c:\baz\boom\
にある場合は、次を使用してロードできます。
new FileInputStream("boom/en-GB.dic");
それをクラスパスに配置します。Web アプリケーションWEB-INF/classes/yourfile.ext
の場合は、スタンドアロン アプリケーションの場合はアプリケーションのbin
ディレクトリに配置します (デフォルトのクラス ディレクトリは bin です)。
次に、次のいずれかの方法を使用して読み取ることができます。
InputStream in = this.getClass().getClassLoader().getResourceAsStream("yourfile.ext");
または
InputStream in = this.getClass().getResourceAsStream("/yourfile.ext");
上記の 2 つのアプローチの違いについては、オンラインで読むことができます。