我正在尝试读取 .jar 文件中的初始文本文件。我尝试使用 ClassLoader 加载文件,但没有成功。奇怪的是,这种方式它在 Eclipse 中工作,但它没有作为单独的可执行 jar 文件。
现在我将尝试重现这种情况:
A类:
/**
* Read initial file.
*
* @return initial file
*/
private SomeObject readInitialObject() {
String path = "object/Welcome.xml";
File f = new File(path);
Reader r = new Reader(f);
SomeObject o = r.read();
return o;
}
类阅读器:
private File importedFile;
public void read() {
...
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(FileLoader.load(importedFile.
getPath()));
}
类文件加载器
/**
* Load input stream.
*
* @param path file path
* @return input stream
*/
public static InputStream load(final String path) {
InputStream input = FileLoader.class.getResourceAsStream(path);
if (input == null) {
input = FileLoader.class.getResourceAsStream("/" + path);
}
return input;
}
收到您的建议,我将不胜感激。谢谢!