0

我需要从 BlackBerry 应用程序的类路径中读取资源文件。我的项目的目录结构很常见:在 src 目录下有 2 个子目录,一个代表源包根目录,另一个代表资源根目录。

当我尝试从类路径读取任何资源时Class.getResourceAsStream方法返回 null

    InputStream rStream = null;
    String path = "/res/default_config.xml";
    try {
        rStream = getClass().getResourceAsStream(path);
    } finally {
        try {
            if (rStream != null) {
                byte[] data = IOUtilities.streamToBytes(rStream);
                System.out.println(new String(data));
                rStream.close();
            }
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

我应该如何正确读取类路径资源?

4

3 回答 3

7

您是否尝试将 xml 文件直接放入 src 文件夹并使用 getClass().getResourceAsStream("default_config.xml"); ?

实际上无法重现。
在模拟器 8800 eJDE 4.2.1 上测试。
文件被放置在 src/res/ 文件夹中。

于 2009-10-01T14:53:32.927 回答
0

尽管它是作为在设备上运行的 COD 文件生成的,但 JAR 文件也会在每次构建时创建。可能值得检查以确保将您的 xml 文件放在您期望它所在的目录中,因为您绝对可以将资源存储在应用程序的子目录中并使用检索它们getClass().getResourceArStream();

于 2009-10-01T15:53:17.080 回答
0

我认为您将路径指定为不正确的方式。您只需/ 从您指定的路径的开头删除 。如果您指定/. 然后它会检查你的资源文件夹

于 2011-06-17T10:01:42.873 回答