猿问

通过getClass()加载文件.getResource()

通过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文件以及资源文件)...

  1. SRC

    • SwingDemo

    1. CustomDialog.java

    2. Test.properties

当我在日食上运行时,一切运行正常。但是一旦我尝试从cmd行运行应用程序,就会出现空指针异常。

命令行部署层次结构如下:

文件夹: D:\Work\Java Progrms\SwingDemo

层次:

  1. SwingDemo

    • CustomDialog.java

    • Test.properties

首先,我SwingDemo从命令行(javac CustomDialog.java)在文件夹中编译了这个文件。然后我将一步回到Java Programs文件夹(正如我在.java类中提到的那样)并使用着名的程序运行应用程序

java SwingDemo.CustomDialog

我之前使用新的FileInputStream(“path”)时,我曾经遵循类似的步骤。做这种方式后我得到空指针异常..

我认为getClass().getResource(url)无法从特定目录加载文件。这就是我将资源放在与我的java文件相同的目录中的原因。它在Eclipse中运行良好。但是当我从命令行运行时,为什么这会出错。


MYYA
浏览 842回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答