通过getClass()加载文件.getResource()
我已经按照加载资源文件的方式使用了getClass.getResource(path)
。代码片段在这里:
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文件以及资源文件)...
SRC
SwingDemo
CustomDialog.java
Test.properties
当我在日食上运行时,一切运行正常。但是一旦我尝试从cmd行运行应用程序,就会出现空指针异常。
命令行部署层次结构如下:
文件夹: D:\Work\Java Progrms\SwingDemo
层次:
SwingDemo
CustomDialog.java
Test.properties
首先,我SwingDemo
从命令行(javac CustomDialog.java
)在文件夹中编译了这个文件。然后我将一步回到Java Programs文件夹(正如我在.java类中提到的那样)并使用着名的程序运行应用程序
java SwingDemo.CustomDialog
我之前使用新的FileInputStream(“path”)时,我曾经遵循类似的步骤。做这种方式后我得到空指针异常..
我认为getClass().getResource(url)
无法从特定目录加载文件。这就是我将资源放在与我的java文件相同的目录中的原因。它在Eclipse中运行良好。但是当我从命令行运行时,为什么这会出错。
相关分类