Java获取Resource目录下的文件

工程结构:

有两种方式:

Java代码中的类,要获取Resource资源文件目录下文件

绝对路径寻址

String s1 = this.getClass().getResource("/test.pxml").getPath();   

注意这个 /  址的是根目录,用绝对路径,可能会出现的问题是,你的程序在windows上可以用,但是在linux不能用,原因在于,你这根目录在windows环境址你的src目录

放到linux环境,就可能执行你linux的根目录了,会导致 file not exist 

针对上面的问题,可以考虑相对路径寻址:

例子:

job.setJarByClass(Runner.class);  
       String jarPath = this.getClass().getClassLoader().getResource("hadoop.jar").getPath();    
       job.setJar(jarPath);  

项目需要在 resource目录下面放一个hadoop 包, 这包远程提交到集群上运行,

上面就采用了相对路径

根据该路径,可以找到对应的hadoop.jar文件。

原文地址:https://www.cnblogs.com/wpcnblog/p/8444664.html