Java如何读取resources目录下的文件路径(九种代码示例教程)
warning:
这篇文章距离上次修改已过429天,其中的内容可能已经有所变动。
在Java中,要读取位于resources目录下的文件,可以使用ClassLoader的getResource或getResourceAsStream方法。以下是九种不同的代码示例:
- 使用
getResource方法获取文件的URL:
URL url = this.getClass().getClassLoader().getResource("example.txt");- 使用
getResourceAsStream方法读取文件内容:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("example.txt");- 使用
Paths和ClassLoader的getResource方法结合:
Path path = Paths.get(this.getClass().getClassLoader().getResource("example.txt").toURI());- 使用
Class的getResource方法:
URL url = this.getClass().getResource("/example.txt");- 使用
Class的getResourceAsStream方法:
InputStream inputStream = this.getClass().getResourceAsStream("/example.txt");- 使用
Thread的getContextClassLoader:
URL url = Thread.currentThread().getContextClassLoader().getResource("example.txt");- 使用
Thread的getContextClassLoader和getResourceAsStream:
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("example.txt");- 使用
ClassLoader的匿名内部类:
URL url = new URL(null, "file:src/main/resources/example.txt", new URLStreamHandler() {
protected URLConnection openConnection(URL u) throws IOException {
return new FileInputStream(new File("src/main/resources/example.txt")).getConnection();
}
});- 使用
Paths和ClassLoader的getResource方法结合,并处理可能的URISyntaxException:
Path path = null;
try {
path = Paths.get(this.getClass().getClassLoader().getResource("example.txt").toURI());
} catch (URISyntaxException e) {
e.printStackTrace();
}以上每种方法都可以用来读取resources目录下的文件,选择哪种方法取决于你的具体需求和上下文环境。
评论已关闭