在Java开发中,经常需要读取项目中resources目录下的文件或获取资源路径。本文将介绍如何在Java中读取resources下的文件,并提供相关实例来说明。
1. 读取resources下的文件
方式一:使用ClassLoader
public class ResourceReader { public static void main(String[] args) { // 通过ClassLoader读取resources下的文件 InputStream inputStream = ResourceReader.class.getClassLoader().getResourceAsStream("test.txt"); if (inputStream != null) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }}
上述代码通过ClassLoader的getResourceAsStream
方法获取resources目录下的test.txt
文件的输入流,然后通过BufferedReader逐行读取文件内容并打印。
方式二:使用Class的getResourceAsStream
public class ResourceReader { public static void main(String[] args) { // 通过Class的getResourceAsStream方法读取resources下的文件 InputStream inputStream = ResourceReader.class.getResourceAsStream("/test.txt"); if (inputStream != null) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } }}
这种方式与方式一类似,通过Class的getResourceAsStream
方法获取resources目录下的test.txt
文件的输入流,并使用BufferedReader逐行读取文件内容。
2. 获取resource文件/路径
方式一:使用ClassLoader
public class ResourcePath { public static void main(String[] args) { // 获取resource文件的路径 URL resourceUrl = ResourcePath.class.getClassLoader().getResource("test.txt"); if (resourceUrl != null) { String resourcePath = resourceUrl.getPath(); System.out.println(resourcePath); } }}
上述代码通过ClassLoader的getResource
方法获取resources目录下的test.txt
文件的URL,然后通过URL的getPath
方法获取文件的路径。
方式二:使用Class的getResource
public class ResourcePath { public static void main(String[] args) { // 获取resource文件的路径 URL resourceUrl = ResourcePath.class.getResource("/test.txt"); if (resourceUrl != null) { String resourcePath = resourceUrl.getPath(); System.out.println(resourcePath); } }}
这种方式与方式一类似,通过Class的getResource
方法获取resources目录下的test.txt
文件的URL,并使用URL的getPath
方法获取文件的路径。
结论
本文介绍了如何在Java中读取resources下的文件以及获取resource文件的路径。通过使用ClassLoader或Class的getResourceAsStream方法,可以轻松地读取resources目录下的文件。而使用ClassLoader或Class的getResource方法,则可以获取resource文件的路径。
希望本文对你理解Java读取resources下的文件及资源路径有所帮助!根据实际需要,你可以选择适合的方式进行文件读取或资源路径获取。
来源地址:https://blog.csdn.net/run65536/article/details/131316095