关于Class.getResourceAsStream】的更多相关文章

首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath根下获取.其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源. 2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,pat…
用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大家最经常用的,就是用JAVA的File类,如要取得 D:/test.txt文件,就会这样用File file = newFile("D:/test.txt");这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可 用,并且从现实应用来讲,最终生成的应用也会部署到Windows外的操作系统中,对于linux来说,在应用中用了c:/这样的字样,就是失败,所…
1.classpath 用于指定java运行时,jvm寻找class文件以及jar文件的存储目录.jvm依据classpath中出现的jar文件以及目录,依次寻找,直到找到指定class文件. 例:java -classpath .;./lib/*;./ext/* MainClass 当MainClass不在当前目录"."时,会去./lib目录下的所有jar文件中去寻找,如果未找到,则继续去./ext目录下的所有jar文件中去找,直到找到.否则抛出ClassNotFound的excep…
xxx.getClass().getClassLoader().getResourceAsStream("d:/test-config.properties") 这方法确实会缓存文件, 在WebApp里面,在不重启tomcat的情况下,修改本地文件,程序跑的时候不会加载最新的本地文件. 如果需要动态修改比如配置文件而不重启server,需要替换方法: xxx.getClass().getClassLoader().getResource("d:/test-config.pro…
这两个方法还是略有区别的, 以前一直不加以区分,直到今天发现要写这样的代码的时候运行 错误, 才把这个问题澄清了一下. 基本上,两个都可以用于从 classpath 里面进行资源读取,  classpath包含classpath中的路径 和classpath中的jar. 两个方法的区别是资源的定义不同, 一个主要用于相对与一个object取资源,而另一个用于取相对于classpath的 资源,用的是绝对路径. 在使用Class.getResourceAsStream 时, 资源路径有两种方式,…
转自:http://blog.csdn.net/yakson/article/details/9203267 一..获取Tomcat的Context的初始化参数. 1.获取Tomcat的server.xml中设置Context的初始化参数. 例如: <Context path="/testcontext" docBase="/context" privileged="true" antiResourceLocking="false…
For Class.getResourceAsStream(String name), if the name parameter doesn't start with a "/", then it's a relative path to the class's package. If the name parameter starts with a "/", then it's an absolute path. For ClassLoader.getResou…
1.class.getResourceAsStream() 从源码中可以看出他也是调用ClassLoader的getResourceAsStream() public InputStream getResourceAsStream(String name) { //对资源名进行解析 name = resolveName(name); ClassLoader cl = getClassLoader0(); if (cl==null) { // A system class. return Clas…
原文链接:http://blog.sina.com.cn/s/blog_4b5bc0110100g22w.html 用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File("c:/test.txt");这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可用,并且从现实应用来讲,最…
使用 getResourceAsStream("helloworld.propterties") 读取文件的stream,返回一直为空,试这把.properties文件放在 很多路径都无济于事. 最终解决方案:该方法是从package 中寻找路径. 比如你的包是 com.xx.yy.test.xml.那么传入的时候,应该是getResourceAsStream("/com/xx/yy/test.xml"),加入你不加前面的/,那么它是按照调用类的路径作为当前路径的,…