【发布时间】:2012-12-14 21:04:12
【问题描述】:
我已经按照getClass.getResource(path)的方式加载资源文件了。代码的 sn-p 在这里:
String url = "Test.properties";
System.out.println("Before printing paths..");
System.out.println("Path2: "+ getClass().getResource(url).getPath());
FileInputStream inputStream = new FileInputStream(new File(getClass().getResource(url).toURI()));
i_propConfig.load(inputStream);
inputStream.close();
我已经在 Eclipse 中配置了它的层次结构(在源代码下有一个名为 SwingDemo 的文件夹。在 SwingDemo 中有我的 java 文件以及资源文件)...
- 源
- Swing演示
- CustomDialog.java
- Test.properties
- Swing演示
当我在 Eclipse 上运行它时,一切都运行良好。但是一旦我尝试从命令行运行应用程序,就会发生空指针异常..
命令行部署层次如下:
文件夹:D:\Work\Java Progrms\SwingDemo
层次结构:
- Swing演示
- CustomDialog.java
- Test.properties
首先,我从命令行 (javac CustomDialog.java) 在 SwingDemo 文件夹中编译了这个文件。然后我回到 Java Programs 文件夹(正如我在 .java 类中提到的包)并使用著名的
java SwingDemo.CustomDialog
我以前使用 new FileInputStream("path") 时曾经遵循类似的步骤。 这样做后,我得到空指针异常..
我认为getClass().getResource(url) 无法从特定目录加载文件。这就是为什么我将资源与我的 java 文件放在同一目录中的原因。它在 Eclipse 中运行良好。但是为什么当我从命令行运行时会出错。
【问题讨论】:
标签: java file load embedded-resource