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文件夹内才能从您的代码中访问。

src文件夹是您的项目包的根文件夹。并且 src 文件夹之外的所有文件夹在运行时对代码都是不可见的。

查看此帖子了解更多详细信息:Blackberry 运行时错误:FRIDG:找不到 img/logo.png

有文件定位原则描述。

于 2012-11-21T13:40:41.073 回答
0

实际上,您无需将资源放在src文件夹下,即可从您的代码中访问它们。

这是一种方法,但我认为这不是最好的方法。该文件夹下的src文件应该是真正的源代码,而不是图像或其他资源。对于 JavaScript 资源,它们是否应该是有争议的src。我见过的大多数项目src只使用该文件夹来存放Java源代码。

在任何情况下,如果您想将文件(或其他资源,如图像)保存在 src 文件夹之外,您可以这样做。当您创建一个新项目时,Eclipse 的 BlackBerry 插件实际上是这样设置的。res顶层有一个文件夹,在 (not under) 旁边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.jsand /res/otherPath/file.js

于 2012-11-23T21:29:16.743 回答