`

java获取resource目录下的文件

 
阅读更多

    我们通常需要获取resource目录下的文件如配置文件,用于进行相应的数据获取。在WEB程序里面的jar、resources都是由Tomcat内部来加载的,所以你在代码中动态加载jar、资源文件的时候,首先应该是使用

Thread.currentThread().getContextClassLoader()。
URL l1 = 
Thread.currentThread().getContextClassLoader().getResource("readFile/test1.xml");
System.out.println(l1);

URL l2 = 
Thread.currentThread().getContextClassLoader().getResource("collection/test2.xml");
System.out.println(l2);

URL l3 = Thread.currentThread().getContextClassLoader().getResource("test3.xml");
String l4=l3.getPath();//加上getPath()则去掉前面的file:
System.out.println(l3);  //file:/F:/demo/Studying/out/production/Studying/test3.xml
System.out.println(l4);///F:/demo/Studying/out/production/Studying/test3.xml

 
   上面的可以通过创建File文件,通过路径来读取文件内容。但是对于打包到jar文件中的资源文件,则不能通过上面的getResource方法获取了,可以通过Class类的getResourceAsStream()方法来获取,如下:

   InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("conf/job_two_one_mapping.txt");
   try(Scanner scanner = new Scanner(is)) {
       while (scanner.hasNextLine()) {
           System.out.println(scanner.nextLine());
       }
   } catch (Exception e) {
       log.error("读取文件数据异常" ,e);
   }

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics