java-InputStream为null

在我正在研究的程序中

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.异常来自== NULL为true.我不知道为什么,因为

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-为什么我的PipedOutputStream死锁?


下一篇:java-挂在org.apache.jk.common.JkInputStream.receive()上的JBOSS-IOException读取HTTP请求InputStream