【问题标题】:read file from res folder blackberry从 res 文件夹中读取文件 blackberry
【发布时间】:2012-11-29 20:12:28
【问题描述】:

我想从黑莓上的“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();

但我有一个例外。 任何人都可以帮助我阅读文件并给我应该使用的正确路径吗?

【问题讨论】:

    标签: blackberry java-me inputstream readfile


    【解决方案1】:

    您的res 文件夹必须位于src 文件夹中,才能从您的代码中访问。

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

    查看此帖子了解更多详情:Blackberry runtime error: FRIDG: could not find img/logo.png

    有文件定位原则说明。

    【讨论】:

    • 实际上,您不需要将您的res 文件夹放在src 下。这是解决问题的一种方法,但出于组织目的,我不建议这样做。
    • 开发者可以在外部拥有 res 文件夹,但在预处理阶段将其内容复制到 src 文件夹。
    • 不需要复制任何东西。我已经使用旧的 JDE 和 Eclipse 插件完成了这项工作。说res 文件夹必须在src 文件夹内是不正确的。发帖人根本没有使用正确的代码来访问他的 JavaScript 资源。见here for another example of doing this
    【解决方案2】:

    您实际上不需要将您的资源放在src 文件夹下,以便您的代码可以访问它们。

    这是一种的方法,但我认为这不是最好的方法。 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);
    

    附: You also can probably do this:

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

    而不是指定资源的路径。显然,这只有在您的资源文件夹中没有命名冲突时才有效(例如,您没有 /res/resourcesWeb/file.js/res/otherPath/file.js

    【讨论】:

      猜你喜欢
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      相关资源
      最近更新 更多