服务器之家

服务器之家 > 正文

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

时间:2020-08-18 10:58     来源/作者:夜有所思,日有所梦

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

?
1
2
3
4
5
6
7
8
9
10
11
12
├── main
│ ├── java
│ │ └── com
│ │  └── test
│ │   └── core
│ │    ├── bean
│ │     ├── Test.java
│ └── resources
│  └── test
│   ├── test.txt
└── test
 └── java

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

示例代码如下

?
1
2
3
4
5
6
7
8
9
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,该函数其实封装了下述代码:

?
1
2
3
4
5
6
7
8
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中加入下面代码:

?
1
2
3
4
5
<dependency>
 <groupId>com.google.guava</groupId>
 <artifactId>guava</artifactId>
 <version>19.0</version>
</dependency>

总结

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

原文链接:http://www.kissyu.org/2016/07/23/java读取resource目录下的文件/

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
最新idea2020注册码永久激活(激活到2100年)
最新idea2020注册码永久激活(激活到2100年) 2020-07-29
返回顶部