2010-12-16 22 views
0

I had problems while finding the path of file(s) in Netbeans.Netbeans内蔵の.jarは、クラスファイル内では動作しません

問題は既に解決されています(確認済みの回答)。

今日私はプロジェクトが終了したら、 プログラムを起動するために生成された.jarを実行する必要がありますが、エラーが発生したためには動作しません。NullPointer(ファイルをロードする場所)/Netbeansの外で開封瓶。

Netbeansや任意のディレクトリでも動作するJava/Netbeansのクラスファイルでファイルを開くことはできますか?

私はすでにサイトの問題についていくつかのスレッドを見つけましたが、役に立たなかったのです。

コード:

File file = new File(URLDecoder.decode(this.getClass().getResource("file.xml").getFile(), "UTF-8")); 

答えて

2

あなたが持っている問題は、ファイルが専用のファイルシステム上のファイルではなく、瓶内のファイルを参照していることです。

より一般的なロケータが必要な場合は、getResourceが提供するURLを使用します。しかし、通常はファイルの場所を知る必要はなく、その内容が必要な場合はgetResourceAsInputStream()を使用できます。

これはすべて、クラスパスが正しく設定されていることを前提としています。

0

はい、あなたはjavaプロセスがアクセス権を持つファイルシステム上の任意の場所にファイルをロードすることができるはずです。 getResourceの呼び出しでパスを明示的に設定するだけで済みます。例えば

File file = new File(URLDecoder.decode(this.getClass().getResource("C:\\foo\\bar\\file.xml").getFile(), "UTF-8")); 
+0

絶対パスを直接設定するにはどうすればよいですか?私はこの作業を他のシステムでもやらなければならないので、これは私のための解決策ではありません。 – Poru

+0

File file = new File( "C:\\ foo \\ bar \\ file.xml")と同じではありません。 –

関連する問題