Java读取外部资源的方法详解及实例代码

  

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

  

在Java代码中经常有读取外部资源的要求:如配置文件等等,通常会把配置文件放在类路径下或者在网络项目中放在- inf下。
  

  

1。从当前的工作目录中读取:
  

        尝试{   BufferedReader=新BufferedReader(新InputStreamReader(新FileInputStream (“wkdir.txt”)));   字符串str;   在((str=in.readLine ()) !=null) {   System.out.println (str);   }   in.close ();   }捕捉(IOException e) {   }   之前      

2,从类路径中读取(读取找到的第一个符合名称的文件):
  

        尝试{   InputStream流=ClassLoader.getSystemResourceAsStream (“fileinjar.txt”);   BufferedReader=新BufferedReader(新InputStreamReader(流));   字符串str;   在((str=in.readLine ()) !=null) {   System.out.println (str);   }   in.close ();   }捕捉(IOException e) {   }   之前      

3,从类路径中读取(读取找到的所有符合名称的文件,如春天中带有classpath *:前缀的情况就会从类路径中遍历):
  

        尝试{      枚举resourceUrls=Thread.currentThread () .getContextClassLoader () .getResources (“fileinjar.txt”);      而(resourceUrls.hasMoreElements ()) {   网址URL=(URL) resourceUrls.nextElement ();   System.out.println (url);      BufferedReader=new BufferedReader(新InputStreamReader (url.openStream ()));   字符串str;   在((str=in.readLine ()) !=null) {   System.out.println (str);   }   in.close ();      }      }捕捉(IOException e) {   }   之前      

4,从URL中读取:
  

        尝试{      网址URL=new URL (“http://blog.csdn.net/kkdelta”);   System.out.println (url);      BufferedReader=new BufferedReader(新InputStreamReader (url.openStream ()));   字符串str;   在((str=in.readLine ()) !=null) {   System.out.println (str);   }   in.close ();      }捕捉(IOException e) {   e.printStackTrace ();   }   之前      

5、web项目从web - inf文件夹读取(通过得到ServletContext读取,可以在servlet或者能够得到请求的类中使用):
  

        尝试{      网址URL=(URL) getServletContext () .getResource (“/web - inf/webinffile.txt”);//网址URL=(URL) req.getSession () .getServletContext () .getResource (“/web - inf/webinffile.txt”);   System.out.println (url);      BufferedReader=new BufferedReader(新InputStreamReader (url.openStream ()));   字符串str;   在((str=in.readLine ()) !=null) {   System.out.println (str);   }   in.close ();      }捕捉(IOException e) {   e.printStackTrace ();   }   之前      

,以上代码在eclipse环境中运行测试过。不过最近在用JUnit的时候,通过蚂蚁运行JUnit时通过的方式去找不到文件。改成;能从ant指定的类路径中找到文件。原因是是不同的,查找的路径不一样。

  

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Java读取外部资源的方法详解及实例代码