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
相关文章:
如何快速生成橙子建站落地页链接?
网页设计与网站制作内容,怎样注册网站?
如何通过FTP服务器快速搭建网站?
宿州网站制作公司兴策,安徽省低保查询网站?
建站主机选哪种环境更利于SEO优化?
如何通过IIS搭建网站并配置访问权限?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何在阿里云香港服务器快速搭建网站?
建站之星云端配置指南:模板选择与SEO优化一键生成
兔展官网 在线制作,怎样制作微信请帖?
南平网站制作公司,2025年南平市事业单位报名时间?
如何快速搭建自助建站会员专属系统?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
建设网站制作价格,怎样建立自己的公司网站?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何选择PHP开源工具快速搭建网站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
建站之星在线客服如何快速接入解答?
如何构建满足综合性能需求的优质建站方案?
如何通过cPanel快速搭建网站?
如何确保FTP站点访问权限与数据传输安全?
股票网站制作软件,网上股票怎么开户?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
建站主机是什么?如何选择适合的建站主机?
如何高效利用亚马逊云主机搭建企业网站?
制作电商网页,电商供应链怎么做?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
b2c电商网站制作流程,b2c水平综合的电商平台?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
制作宣传网站的软件,小红书可以宣传网站吗?
定制建站方案优化指南:企业官网开发与建站费用解析
香港服务器选型指南:免备案配置与高效建站方案解析
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
制作营销网站公司,淘特是干什么用的?
制作网站公司那家好,网络公司是做什么的?
如何用西部建站助手快速创建专业网站?
c# 在ASP.NET Core中管理和取消后台任务
如何在IIS管理器中快速创建并配置网站?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何通过商城自助建站源码实现零基础高效建站?
如何配置IIS站点权限与局域网访问?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
*请认真填写需求信息,我们会在24小时内与您取得联系。