错误读数性质的Java文件
我的项目目录看起来像这样错误读数性质的Java文件
我收到以下错误线程
异常“主要” java.io.FileNotFoundException: /resources/config.properties(没有这样的文件或目录) java.io.FileInputStream.open0(Native Method) java.io.FileInputStream.open(FileInputStream.java:195)at java.io.FileInputStream。(FileInputStream.java:138)at java.io.FileInputStream。(FileInputStream.java:93)at quartztest.QuartzTest.main(QuartzTest.java:36) /home/seng /。高速缓存/ netbeans的/ 8.1 /执行-片段/ run.xml:53:的Java 返回:1个BUILD FAILED(总时间:0秒)
我如下
Properties prop = new Properties(); InputStream input = null;
input = new FileInputStream("/resources/config.properties");
prop.load(input);
回答:
作为资源的代码文件夹是源文件夹,您可以通过以下方式获得InputStream
:
input = QuartzTest.class.getResourceAsStream("/resources/config.properties");
回答:
尝试使用此加载:
所有的//Get file from resources folder ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config.properties").getFile());
回答:
首先,在开始用“/”表示搜索从根开始,而不是从一个子目录。
除此之外,资源文件夹可能在您的项目文件夹中,因此您必须使用getClass()。getClassloader()...来读取文件。然后您只能使用文件名(如果它是唯一的),否则您必须提供使其唯一的路径。
如果使用FileInputStream,则必须提供文件的完整路径。
回答:
在这里我看到两个选项:
input = new FileInputStream("src/main/resources/config.properties");
ClassLoader classloader = Thread.currentThread().getContextClassLoader(); InputStream is = classloader.getResourceAsStream("config.properties");
第二个是首选,因为你需要指定相对路径根据资源文件夹
如果你不使用这从静态的上下文,你可以简化检索类加载到
ClassLoader classLoader = getClass().getClassLoader();
以上是 错误读数性质的Java文件 的全部内容, 来源链接: utcz.com/qa/262196.html