在我正在做的一个程序中我有
String cwd;
String file_separator;
public ConfigLoader()
{
cwd = get_cwd();
file_separator = get_file_separator();
try
{
Properties c = new Properties();
InputStream in = this.getClass().getClassLoader().getResourceAsStream(cwd +
file_separator + "data" + file_separator + "configuration.properties");
c.load(in);
}
except (Exception e) { e.printStackTrace(); }
}
public String get_file_separator()
{
File f = new File("");
return f.separator;
}
public String get_cwd()
{
File cwd = new File("");
return cwd.getAbsolutePath();
}
但是,出于某种原因,c.load(in);
导致了 NullPointerException
。异常来自 in == NULL
为真。我不明白为什么,因为
System.out.println(cwd + file_separator + "data" + file_separator +
"configuration.properties");
打印
/users/labnet/st10/jjb127/workspace/Brewer-Client/data/configuration.properties
这是我要使用的文件的位置。
想法?
最佳答案
getResourceAsStream
用于搜索类路径中的文件,而不是用于访问本地文件系统。对于这种情况,您将不得不使用 FileInputStream
。
InputStream in = new FileInputStream(cwd +
file_separator + "data" + file_separator + "configuration.properties");
关于java - 输入流为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10008457/