class.getResource()的用法

来源:互联网 发布:xtream path 1.6 mac 编辑:程序博客网 时间:2024/06/05 06:16

http://blog.csdn.net/lcj8/article/details/3502849

http://blog.csdn.net/rocklee_1227/article/details/7909372

http://blog.csdn.net/ak913/article/details/7399056

写的太透彻了 


本人总结如下

绝对路径:  / 即为build目录
相对路径:  从最终生成的.class文件为着手点,结合相对路径的概念,就可以准确地定位资源文件了

比如我们有以下目录

|--project

    |--src

        |--javaapplication

            |--Test.java

            |--file1.txt

        |--file2.txt

    |--build 

        |--javaapplication

            |--Test.class

            |--file3.txt

        |--file4.txt

 

在上面的目录中,有一个src目录,这是JAVA源文件的目录,有一个build目录,这是JAVA编译后文件(.class文件等)的存放目录

那么,我们在Test类中应该如何分别获得

file1.txt  file2.txt  file3.txt  file4.txt这四个文件呢?

 

首先讲file3.txt与file4.txt

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());

 

file4.txt:

方法一:File file4 = new File(Test.class.getResource("/file4.txt").getFile());

方法二:File file4 = new File(Test.class.getClassLoader().getResource("file4.txt").getFile());

假如整个project目录放在c:/下,那么file1与file2的获取方法分别为

file1.txt

方法一:File file1 = new File("c:/project/src/javaapplication/file1.txt");

方法二:。。。没有

 

file2.txt

方法一:File file2 = new File("c:/project/src/file2.txt");

方法二:。。。也没有



绝对路径:  / 即为build目录
相对路径:  从最终生成的.class文件为着手点,结合相对路径的概念,就可以准确地定位资源文件了

 

0 0
原创粉丝点击