我使用下面提到的代码从java类中读取文件(.cer
文件)。 java类将捆绑在Jar中,然后包含在EAR中。
FileInputStream inStream = new FileInputStream ("/home/test/foo.cer");
我也试过
FileInputStream inStream = new FileInputStream ("home/test/foo.cer");
但是他们都抛出了FileNotFoundException。 EAR部署在Unix系统中的Weblogic中。我已经验证了路径和文件名。
任何想法,如果我遗漏了什么?
答案 0 :(得分:1)
我建议在应用程序服务器的类路径中包含.cer文件的位置,然后使用ClassLoader的getResourceAsStream(String location)方法加载它。
如果您将目录/home/test
添加到类路径中,则相应的代码应为:
this.getClass().getClassLoader().getResourceAsStream("foo.cer");
我发现这是在appserver中运行时加载外部资源的一种更可靠的方法,而且它使测试更容易。
答案 1 :(得分:-3)
try {
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME_REL_OR_ABSOLUTE));
reader.readLine();
} catch (IOException e) {
} catch (FileNotFoundException ex) {
}