java中Class.getResource用法
2014-07-26 20:44
951 查看
转载自:转载地址
关于getResource的用法文中已经说的比较详细了,但仍有一些细节的地方文中没有指出,我也是思考了一会才明白其中的道理,现在总结如下:
1.对于文中说file3.txt文件的读取方法有两种,分别如下
方法一:File file3 = new File(Test.class.getResource("file3.txt").getFile());
方法二:File file3 = new File(Test.class.getResource("/javaapplication/file3.txt").getFile());
方法三:File file3 = new File(Test.class.getClassLoader().getResource("javaapplication/file3.txt").getFile());
对于方法一:它的意思是从Test.class文件的同级目录下寻找file3.txt文件;
对于方法二:它的意思是从根目录下开始寻找,先在跟目录下找javaapplication这个文件夹,如果存在,则继续在该文件夹下寻找file3.txt文件;这里为什么从根目录下开始寻找是因为路径的开头是“/”这个符号,如果路径改为“javaapplication/file3.txt”,则表示在Test.class的同级目录下开始寻找,另外这里所谓的根目录指的是编译后的目录,比如项目下有src和bin目录,src用来存放源码,bin下用来存放编译后的class文件,则这里的根目录指的就是bin目录;
对于方法三:我觉得可以把Test.class.getClassLoader()理解为切换当前路径为根目录下,然后开始寻找javaapplication,然后在寻找file3.txt文件,所以这里javaapplication前面就不用“/”符号了;
另外对于作者说,对于file1.txt的获取只能采用下面的方法一的方法:
方法一:File
file1 = new File("c:/project/src/javaapplication/file1.txt");
但我这里真正的项目中一般使用 System.getProperty("user.dir")+"\\"+"config\\config.xml"的方法去获取配置文件的,当然这个目前只使用在windows环境下,不知道如果使用在linux环境下是否适用,但很多网友不建议使用该方法,说会出现一些问题;
最后,java中还有Class.getResourceAsStream(), 也可以用于定位和获取资源文件,和Class.getResource差不多,不过返回的是一个InputStream对象。
关于getResource的用法文中已经说的比较详细了,但仍有一些细节的地方文中没有指出,我也是思考了一会才明白其中的道理,现在总结如下:
1.对于文中说file3.txt文件的读取方法有两种,分别如下
方法一:File file3 = new File(Test.class.getResource("file3.txt").getFile());
方法二:File file3 = new File(Test.class.getResource("/javaapplication/file3.txt").getFile());
方法三:File file3 = new File(Test.class.getClassLoader().getResource("javaapplication/file3.txt").getFile());
对于方法一:它的意思是从Test.class文件的同级目录下寻找file3.txt文件;
对于方法二:它的意思是从根目录下开始寻找,先在跟目录下找javaapplication这个文件夹,如果存在,则继续在该文件夹下寻找file3.txt文件;这里为什么从根目录下开始寻找是因为路径的开头是“/”这个符号,如果路径改为“javaapplication/file3.txt”,则表示在Test.class的同级目录下开始寻找,另外这里所谓的根目录指的是编译后的目录,比如项目下有src和bin目录,src用来存放源码,bin下用来存放编译后的class文件,则这里的根目录指的就是bin目录;
对于方法三:我觉得可以把Test.class.getClassLoader()理解为切换当前路径为根目录下,然后开始寻找javaapplication,然后在寻找file3.txt文件,所以这里javaapplication前面就不用“/”符号了;
另外对于作者说,对于file1.txt的获取只能采用下面的方法一的方法:
方法一:File
file1 = new File("c:/project/src/javaapplication/file1.txt");
但我这里真正的项目中一般使用 System.getProperty("user.dir")+"\\"+"config\\config.xml"的方法去获取配置文件的,当然这个目前只使用在windows环境下,不知道如果使用在linux环境下是否适用,但很多网友不建议使用该方法,说会出现一些问题;
最后,java中还有Class.getResourceAsStream(), 也可以用于定位和获取资源文件,和Class.getResource差不多,不过返回的是一个InputStream对象。
相关文章推荐
- java中Class.getResource用法
- Java中getResourceAsStream的用法Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class
- java中Class.getResource用法(用于配置文件的读取)
- java中Class.getResource用法 【转】
- java中Class.getResource用法(转)
- java中Class.getResource用法
- java中class.getResource的用法
- java中Class.getResource用法
- java中Class.getResource用法
- java Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- java中Class.getResource用法
- Java中getClassLoader().getResourceAsStream("XXX")的用法
- java中Class.getResource用法
- java中Class.getResource用法和自己老是有事没事报NullPointer错误的原因分析