「java读取war包文件」war包读取外部配置文件
本篇文章给大家谈谈java读取war包文件,以及war包读取外部配置文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 中的war格式的压缩包怎么解压?
是strut2的demo。根据文件前面的图标可以知道系统无法识别此类文件,此类问题这样解决:在文件上面点击右键,选择打开方式--WinRAR,这样就会弹出WinRaR的读文件窗口,在窗口上面点击“解压到”图标,然后在文件路径中选择你要解压的路径,点击确定,这样你就可以在目标地址看到解压后的文件夹了。
java 在eclipse工程下读取文件内容和打成war包后,读取同样文件内容,正确读取
首先war打完之后你可以用解压软件看看里面的文件结构,和工程是不一样的。没有src/main/这一层。因此如果要满足你的使用相对路径要求,又要通用,只有两个方法。
1、在项目下重新建一个resource资源包,配置文件放在里面,然后根据resource相对路径读取
2、变更项目打包结构,打包输出时把src/main/这层加上
总之这两个方法的目的都是为了让war包结构和你工程一致。
我的读取配置文件方法如下,你可以参考下。文件路径:
String path = null;
try {
path = SellerProductController.class.getClassLoader()
.getResource("").toURI().getPath();
log.info("获取到配置文件的路径为:" + path);
} catch (URISyntaxException e) {
log.error("获取配置文件路径出现异常," + e.getMessage());
}
// 把文件读入文件输入流,存入内存中
FileInputStream fis = null;
try {
fis = new FileInputStream(new File(path + "isa_addr.json"));
} catch (FileNotFoundException e) {
log.error("读取配置文件出现异常," + e.getMessage());
}
// 设置response的字符集为项目指定字符集
response.setCharacterEncoding("UTF-8");
// 创建输出流对象
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
log.error("创建输出流对象失败:" + e.getMessage());
}
String res = this.ReadFile(fis);
log.debug("最终获得的Json串为:" + res);
java如何获取war包中文件路径
我的war包路径/war/WEB-INF/test/foo.txt
所以你可以用以下两句话来获取到war包里的文件:
ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
java读取war包文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于war包读取外部配置文件、java读取war包文件的信息别忘了在本站进行查找喔。