如何从BlackBerry app中的classpath读取资源文件?

时间:2009-10-01 14:14:17

标签: blackberry resources classpath rim-4.2

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

当我尝试从类路径Class.getResourceAsStream读取任何资源时,retures 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());
        }
    }

我应该如何正确阅读classpath资源?

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

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

检索它们。

答案 2 :(得分:0)

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