Java读取resources下的文件及资源路径
Java读取resources下的文件及资源路径
在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下的文件及资源路径有所帮助!根据实际需要,你可以选择适合的方式进行文件读取或资源路径获取。