`
zht520
  • 浏览: 1903 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA读取外部资源的方法

 
阅读更多

JAVA读取外部资源的方法

java代码中经常有读取外部资源的要求:如配置文件等等,通常会把配置文件放在classpath下或者在web项目中放在web-inf下.
1.从当前的工作目录中读取:达内就业
[java] view plaincopyprint?

    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中读取(读取找到的第一个符合名称的文件):达内培训费用
[java] view plaincopyprint?

    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中遍历):
[java] view plaincopyprint?

    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中读取:达内怎么样
[java] view plaincopyprint?

    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的类中使用):
[java] view plaincopyprint?

    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开发技术大全(500个源代码).

    listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的简单类 useArray1.java 用反射机制使用数组示例1 useArray2.java 用反射机制使用数组示例2 第10章 ...

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA 范例大全 光盘 资源

    JAVA 范例大全 光盘 资源 书籍目录: 前言. 第1章 开发环境搭建 1 实例1 下载、安装并配置JDK 1 实例2 第一个Java程序 3 实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见...

    Java资源包01

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    JAVA通过POI读取excle

    JAVA 通过POI进行excle读取,支持xlsx和xls两种格式;程序已经包含POI库,无需另行下载,下载该资源后后直运行,读取excle的方法可直接被外部调用;

    JAVA上百实例源码以及开源项目源代码

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    java把文本文件内容导入到数据库

    在生产企业中,会涉及到许多诸如把外部文件内容导入到数据库。本资源采用java程序开发,文本文件内容里的字段用“,”分开(如果是其他标识符,相应修改一下就行了),方便快捷。

    java 编程入门思考

    14.2.1 资源访问的错误方法 14.2.2 Java如何共享资源 14.2.3 回顾Java Beans 14.3 堵塞 14.3.1 为何会堵塞 14.3.2 死锁 14.4 优先级 14.4.1 线程组 14.5 回顾runnable 14.5.1 过多的线程 14.6 总结 14.7 练习 第15...

    JAVA面试题最全集

    如何获取某个日期是当月的最后一天 如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件 7.Java...

    Java初学者入门教学

    14.2.1 资源访问的错误方法 14.2.2 Java如何共享资源 14.2.3 回顾Java Beans 14.3 堵塞 14.3.1 为何会堵塞 14.3.2 死锁 14.4 优先级 14.4.1 线程组 14.5 回顾runnable 14.5.1 过多的线程 14.6 总结 14.7 练习 第15...

    java开源包11

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java开源包6

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java开源包9

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java联想(中文)

    14.2.1 资源访问的错误方法 14.2.2 Java如何共享资源 14.2.3 回顾Java Beans 14.3 堵塞 14.3.1 为何会堵塞 14.3.2 死锁 14.4 优先级 14.4.1 线程组 14.5 回顾runnable 14.5.1 过多的线程 14.6 总结 14.7 练习 第15...

    java开源包101

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java开源包4

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java开源包5

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

    java开源包8

    你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,无缝集成的IDE(语法着色,代码导航,重构等)的语法和操作代码完全分离。最大限度地减少时间和费用开发...

Global site tag (gtag.js) - Google Analytics