0

ブラックベリーの「res」フォルダからファイルを読み込みたい。私が使用したファイルはファイルjavascriptです。このコードを使用しまし InputStream in = classs.getResourceAsStream("file.js");た。しかし、「このパスが見つかりませんでした」というメッセージが表示され、私も使用します

String srcFile = "/res/ressourcesWeb/file.js";
FileConnection srcConn = (FileConnection) Connector.open(srcFile, Connector.READ);
InputStream in = srcConn.openInputStream();

しかし、私は例外を得ました。ファイルを読んで、使用すべき正しいパスを教えてくれる人はいますか?

4

2 に答える 2

1

コードからアクセスするには、フォルダーがresフォルダー内にある必要があります。src

srcfolder は、プロジェクト パッケージのルート フォルダーです。また、src フォルダーの外側にあるすべてのフォルダーは、実行時にコードからは見えません。

詳細については、この投稿を確認してください: Blackberry ランタイム エラー: FRIDG: could not find img/logo.png

ファイルの場所の原則が説明されています。

于 2012-11-21T13:40:41.073 に答える
0

実際には、コードからアクセスできるようにするために、リソースをフォルダーの下に置く必要はありません。src

それはそれを行うための1 つの方法ですが、最善の方法ではないと思います。フォルダーの下のファイルは、src画像やその他のリソースではなく、実際にはソース コードである必要があります。JavaScript リソースについては、それを下回るべきかどうかは議論の余地がありsrcます。私が見たほとんどのプロジェクトでは、このsrcフォルダーはJavaソース コードのみに使用されていました。

いずれにせよ、ファイル (または画像などの他のリソース) を src フォルダーの外に保持したい場合は、そうすることができます。Eclipse 用の BlackBerry プラグインは、新しいプロジェクトを作成するときに、実際にはデフォルトでこのように設定します。res(下ではなく) の横に、最上位にフォルダーがありますsrc

あなたが持っている場合

src\
src\com\mycompany\myapp\
res\
res\resourcesWeb\
res\resourcesWeb\file.js

次に、次のようにファイルを開くことができます。

    String jsPath = "/resourcesWeb/file.js";
    InputStream input = getClass().getResourceAsStream(jsPath);
    byte [] content = IOUtilities.streamToBytes(input);
    String contentAsString = new String(content);

PS おそらくこれを行うこともできます

    String jsPath = "/file.js";
    InputStream input = getClass().getResourceAsStream(jsPath);

リソースへのパスを指定しないでください。/res/resourcesWeb/file.js明らかに、これはリソース フォルダーに名前の競合がない場合にのみ機能します (たとえば、 and もありません/res/otherPath/file.js) 。

于 2012-11-23T21:29:16.743 に答える