2
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);

返回= null

4

1 回答 1

1

pathSeparatorChar是在:Unix 和;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");
于 2013-08-26T07:22:24.347 回答