Java如何读取resources目录下的文件路径(九种代码示例教程)
    		       		warning:
    		            这篇文章距离上次修改已过431天,其中的内容可能已经有所变动。
    		        
        		                
                在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目录下的文件,选择哪种方法取决于你的具体需求和上下文环境。
评论已关闭