2012-05-12 10 views
0

アプリケーションデータとコードをNBの異なるソースパッケージに保存したい(Javaパッケージと間違えないでください)。ファイルオブジェクトと異なるNetBeansパッケージ

だから今回はやった。残念ながら、あるパッケージから別のパッケージにFileオブジェクトを介してファイルを取得することはできません。ここに私のパッケージ構造

Source Packages 
    |-[J]basicstuff 
    |-[J]net.abc.utils 
    assets 
    |-[F]Images 
    |-[F]Layouts 

伝説です:

  • 表示なし - NBのプロジェクトのプロパティで追加されたソースパッケージは
  • [J]標準のJavaパッケージ
  • [F] - で作られたデータ用のフォルダファイルマネージャー

私の独自のGUIシステムを使用しているので、カスタムレイアウトローダーがあります。レイアウトは、アセット/レイアウトに配置されたJSONテキストファイルです。残念なことに私のlayoutmanager(net.abc.utilsの別のクラス)はロードできません。私が何をしても、私はそれらをロードすることはできません。

私はその後、私はそれがのsrcディレクトリを含む、上記の4つのディレクトリ、ある思い出し

File layout = new File("../../../assets/Layouts/layout.txt"); 

その後、

File layout = new File("assets/Layouts/layout.txt"); 

を試してみました。

File layout = new File("../../../../assets/Layouts/layout.txt"); 

しかし、それもうまくいきませんでした。

はさえ

File layout = new File("../../../../Layouts/layout.txt"); 

File layout = new File("../../../Layouts/layout.txt"); 

を試みたが、もちろんこれらも動作しませんでした。手伝って頂けますか?

+0

:使用するために

private static InputStream getResourceAsStream(String resource) throws FileNotFoundException { String stripped = resource.startsWith("/") ? resource.substring(1) : resource; InputStream stream = null; ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if (classLoader != null) { stream = classLoader.getResourceAsStream(stripped); } if (stream == null) { stream = MyClass.class.getResourceAsStream(resource); } if (stream == null) { stream = MyClass.class.getClassLoader().getResourceAsStream(stripped); } if (stream == null) { throw new FileNotFoundException("Resource not found: " + resource); } return stream; } 

はこのような何かを試してみてください。 –

答えて

1

アプリケーションがある、環境に依存して(スタンドアロンApplicationServerの)、あなたは適切なClassLoaderを使用する必要があります。あなたが戻ってあなたの前の質問に戻り、人々がよりお気軽にお答えするように、最良の答えを受け入れるべき

MyClass.getResourceAsStream("Layouts/layout.txt"); 
+0

私のアプリは独立しています。メインクラスはbasicstuffパッケージにあり、layoutmanagerクラスはnet.abc.utilsの中にあります。 –

+0

また、リソースはnet.abc.utils.layoutmanager.javaにロードされ、layoutmanagerのインスタンスによってmain関数に渡されます。 MyClassは何を表していますか? –

+0

よろしくお願いいたします。 –

関連する問題