博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 访问不同资源方式
阅读量:6264 次
发布时间:2019-06-22

本文共 1283 字,大约阅读时间需要 4 分钟。

不同类型的资源,需要用不同的方法来访问。

访问CLASSPATH中的资源

将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用-classpath参数中指定的路径中。接下来我们就可以用下面的代码来访问这些资源:

例 5.1. 访问CLASSPATH中的资源

URL resourceURL = getClassLoader().getResource("java/lang/String.class"); // 取得URLInputStream resourceContent = getClassLoader().getResourceAsStream("java/lang/String.class"); // 取得输入流
访问文件系统中的资源

下面的代码从文件资源中读取信息:

例 5.2. 访问文件系统中的资源

File resourceFile = new File("c:\\test.txt"); // 取得FileInputStream 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"); // 取得URLInputStream 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"); // 取得URLInputStream resourceContent = resourceURL.openStream(); // 取得输入流

转载于:https://www.cnblogs.com/secbook/archive/2012/05/31/2655188.html

你可能感兴趣的文章
Android中使用JUnit测试
查看>>
剑指offer-二进制中1的个数11
查看>>
变量的本质
查看>>
手写堆优化dijkstra
查看>>
解决asp.net MVC中 当前上下文中不存在名称“model” 的问题
查看>>
cvs 一般是采用window用户账号的登录方式
查看>>
Integer to Roman
查看>>
bzoj4004[JLOI2015]装备购买
查看>>
ajax--->简单加法小练习
查看>>
剑指offer例题——反转链表
查看>>
帧内宏块预测流程 (转载)
查看>>
magento性能优化
查看>>
next_permutation函数
查看>>
How to create own operator with python in mxnet?
查看>>
jQuery Ajax 实例 全解析
查看>>
博客装扮3-博客园界面装扮优化教程
查看>>
STM32CubeMX的串口配置,以及驱动代码
查看>>
组合数学 + STL --- 利用STL生成全排列
查看>>
Notepad++配置c/c++环境
查看>>
PHP——获取上传文件的后缀名
查看>>