Java 读取外部资源的方法详解

在Java代码中经常有读取外部资源的要求:如配置文件等等,通常会把配置文件放在classpath下或者在web项目中放在web-inf下.
1.从当前的工作目录中读取:
try {
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("wkdir.txt")));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
} catch (IOException e) {
}
2,从classpath中读取(读取找到的第一个符合名称的文件):
try {
InputStream stream = ClassLoader.getSystemResourceAsStream("fileinjar.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
} catch (IOException e) {
}
3,从classpath中读取(读取找到的所有符合名称的文件,如spring中带有classpath*:前缀的情况就会从classpath中遍历):
try {
Enumeration resourceUrls = Thread.currentThread().getContextClassLoader().getResources("fileinjar.txt");
while (resourceUrls.hasMoreElements()) {
URL url = (URL) resourceUrls.nextElement();
System.out.println(url);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
}
} catch (IOException e) {
}
4,从URL中读取:
try {
URL url = new URL("http://blog.csdn.net/kkdelta");
System.out.println(url);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
5,web项目从web-inf文件夹读取(通过得到ServletContext读取,可以在servlet或者能够得到request的类中使用):
try {
URL url = (URL) getServletContext().getResource("/WEB-INF/webinffile.txt");
// URL url = (URL)req.getSession().getServletContext().getResource("/WEB-INF/webinffile.txt");
System.out.println(url);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
以上代码在eclipse环境中运行测试过.不过最近在用JUnit的时候,通过ant运行JUnit时通过ClassLoader.getSystemResourceAsStream("file.txt");的方式去找不到文件.改成 Xclass.class.getClassLoader().getResourceAsStream("file.txt");能从ant指定的classpath中找到文件.原因是ClassLoader和Xclass.class.getClassLoader()是不同的,查找的路径不一样.
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java读取外部资源的方法
# Java读取外部资源实例代码
# Java读取外部资源如何实现
# java Future 接口使用方法详解
# Java正则判断日期格式是否正确的方法示例
# Java中自定义异常详解及实例代码
# Java正则验证电话
# 手机
# 邮箱
# 日期
# 金额的方法示例
# java 实现定时的方法及实例代码
# Java基于正则实现的日期校验功能示例
# Java正则匹配中文的方法实例分析
# Java基础--反射机制
# java 算法之希尔排序详解及实现代码
# java 算法之归并排序详解及实现代码
# 放在
# 配置文件
# 就会
# 第一个
# 遍历
# 去找
# 希望能
# 会把
# 谢谢大家
# 类中
# 中经
# 中找到
# 目录中
# close
# catch
# IOException
# println
# System
# readLine
# null
相关文章:
制作网站的模板软件,网站怎么建设?
内部网站制作流程,如何建立公司内部网站?
宝塔建站无法访问?如何排查配置与端口问题?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
如何在IIS7中新建站点?详细步骤解析
实现虚拟支付需哪些建站技术支撑?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
公众号网站制作网页,微信公众号怎么制作?
建设网站制作价格,怎样建立自己的公司网站?
存储型VPS适合搭建中小型网站吗?
如何通过云梦建站系统实现SEO快速优化?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何快速生成专业多端适配建站电话?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
南京网站制作费用,南京远驱官方网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
购物网站制作公司有哪些,哪个购物网站比较好?
广州美橙建站如何快速搭建多端合一网站?
广东企业建站网站优化与SEO营销核心策略指南
建站之星后台管理:高效配置与模板优化提升用户体验
建站之家VIP精选网站模板与SEO优化教程整合指南
MySQL查询结果复制到新表的方法(更新、插入)
高性价比服务器租赁——企业级配置与24小时运维服务
开封网站制作公司,网络用语开封是什么意思?
北京企业网站设计制作公司,北京铁路集团官方网站?
如何高效利用200m空间完成建站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
在线制作视频的网站有哪些,电脑如何制作视频短片?
建站之星如何通过成品分离优化网站效率?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站168自助建站系统:快速模板定制与SEO优化指南
制作网站的软件免费下载,免费制作app哪个平台好?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
制作营销网站公司,淘特是干什么用的?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
如何在腾讯云服务器上快速搭建个人网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
网站app免费制作软件,能免费看各大网站视频的手机app?
建站之星导航菜单设置与功能模块配置全攻略
Swift中switch语句区间和元组模式匹配
如何在搬瓦工VPS快速搭建网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建站之星如何实现PC+手机+微信网站五合一建站?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
如何基于云服务器快速搭建网站及云盘系统?
*请认真填写需求信息,我们会在24小时内与您取得联系。