java 访问不同资源方式
2012-05-31 12:45
260 查看
不同类型的资源,需要用不同的方法来访问。
访问CLASSPATH中的资源
将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用
例 5.1. 访问CLASSPATH中的资源
访问文件系统中的资源
下面的代码从文件资源中读取信息:
例 5.2. 访问文件系统中的资源
访问Web应用中的资源
Web应用既可以打包成war文件,也可以展开到任意目录中。因此Web应用中的资源(JSP、模板、图片、Java类、配置文件)不总是可以用文件的方式存取。虽然Servlet API提供了
这取决于应用服务器的实现,以及Web应用的布署方式。更好的获取WEB应用资源的方法如下:
例 5.3. 访问Web应用中的资源
访问Jar/Zip文件中的资源
下面的代码读取被打包在Jar文件中的资源信息:
例 5.4. 访问Jar/Zip文件中的资源
访问CLASSPATH中的资源
将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用
-classpath参数中指定的路径中。接下来我们就可以用下面的代码来访问这些资源:
例 5.1. 访问CLASSPATH中的资源
URL resourceURL = getClassLoader().getResource("java/lang/String.class"); // 取得URL InputStream resourceContent = getClassLoader().getResourceAsStream("java/lang/String.class"); // 取得输入流
访问文件系统中的资源
下面的代码从文件资源中读取信息:
例 5.2. 访问文件系统中的资源
File resourceFile = new File("c:\\test.txt"); // 取得File InputStream resourceContent = new FileInputStream(resourceFile); // 取得输入流
访问Web应用中的资源
Web应用既可以打包成war文件,也可以展开到任意目录中。因此Web应用中的资源(JSP、模板、图片、Java类、配置文件)不总是可以用文件的方式存取。虽然Servlet API提供了
ServletContext.getRealPath()方法,用来取得某个资源的实际文件路径,但该方法很可能返回
null——
这取决于应用服务器的实现,以及Web应用的布署方式。更好的获取WEB应用资源的方法如下:
例 5.3. 访问Web应用中的资源
URL resourceURL = servletContext.getResource("/WEB-INF/web.xml"); // 取得URL InputStream resourceContent = servletContext.getResourceAsStream("/WEB-INF/web.xml"); // 取得输入流
访问Jar/Zip文件中的资源
下面的代码读取被打包在Jar文件中的资源信息:
例 5.4. 访问Jar/Zip文件中的资源
URL jarURL = new File(System.getProperty("java.home") + "/lib/rt.jar").toURI().toURL(); URL resourceURL = new URL("jar:" + jarURL + "!/java/lang/String.class"); // 取得URL InputStream resourceContent = resourceURL.openStream(); // 取得输入流
相关文章推荐
- java 访问不同资源方式
- java 访问不同资源方式
- java线程同步时,不同线程通过不同方法,访问同一资源
- java和spring访问资源的方式
- Java实现代理ip访问网络的实现方式之Java实现切换ip访问网络资源
- 多个对象访问共享对象和数据的方式——一道JAVA就业面试题的不同解法
- java中数据库访问方式的不同处理数据总结:
- java web 静态资源访问配置三种方式
- java web 静态资源访问配置
- Linux内核访问外设I/O资源的方式-静态映射(map_desc)方式
- java-实现资源访问的超时和并发控制
- Linux内核访问外设I/O资源的方式
- maven使用exec插件运行Java main方法,以下是3种不同的操作方式。
- Linux内核访问外设I/O资源的方式
- JAVA synchronized 线程经典 生产者消费者 两个完全不同的实现的方式
- java笔记之数组的概念、声明、初始化、访问方式、复制和动态扩展算法以及递归
- java 实现WebService 以及不同的调用方式
- JAVA模拟各种请求方式访问RESTFUL
- 按照java对象方式访问Snmp设备
- Java访问非.NET的webservice(axis2方式)