从给定的类路径中获取文件

时间:2013-08-26 07:17:46

标签: java io classpath inputstream

public String getQuery(String nameFile, Package pathFile)
{
   //   How to get on InputStrem nameFile and pathFile
}

我无法通过类加载器

String path = getClass().getPackage().getName().replace('.', File.pathSeparatorChar);
String file = path + "file.txt";
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file);

return in = null

1 个答案:

答案 0 :(得分:1)

Unix上pathSeparatorChar:,Windows上为;。它与用于从所有平台上的ClassLoader(/)加载资源的char无关。

此外,您忘记了路径和文件名之间的分隔符。它应该是

String path = getClass().getPackage().getName().replace('.', '/');
String file = path + "/file.txt";
InputStream in = this.getClass().getClassLoader().getResourceAsStream(file);

或者,更简单,因为Class有一个方法可以直接从同一个包中加载资源:

InputStream in = this.getClass().getResourceAsStream("file.txt");