欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java读取resource目录下文件的方法示例

程序员文章站 2024-03-06 21:25:50
本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构 ├── main │ ├── java │ │ └── com...

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构

├── main
│ ├── java
│ │ └── com
│ │  └── test
│ │   └── core
│ │    ├── bean
│ │     ├── test.java
│ └── resources
│  └── test
│   ├── test.txt
└── test
 └── java

我们希望在test.java中读取test.txt文件中的内容,那么我们可以借助guava库的resource类

示例代码如下

public class testdemo {
 public static void main(string args[]) throws interruptedexception, urisyntaxexception, ioexception {
  bufferedinputstream bufferedinputstream = (bufferedinputstream) resources.getresource("test/test.txt").getcontent();
  byte[] bs = new byte[1024];
  while (bufferedinputstream.read(bs) != -1) {
   system.out.println(new string(bs));
  }
 }
}

核心函数就是resources.getresource,该函数其实封装了下述代码:

public static url getresource(string resourcename) {
 classloader loader = moreobjects.firstnonnull(
  thread.currentthread().getcontextclassloader(),
  resources.class.getclassloader());
 url url = loader.getresource(resourcename);
 checkargument(url != null, "resource %s not found.", resourcename);
 return url;
}

上述代码的核心逻辑很简单,即通过获取classloader来获取resource文件

如果想引入google的guava库,如果你采用的是maven工程的话,可以在pom.xml中加入下面代码:

<dependency>
 <groupid>com.google.guava</groupid>
 <artifactid>guava</artifactid>
 <version>19.0</version>
</dependency>

总结

以上就是关于java读取resource目录下文件的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。