在Java中,要获取内部资源(例如,位于src/main/resources
目录下的文件),可以使用ClassLoader
的getResourceAsStream()
方法。以下是一个示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
// 获取内部资源文件的输入流
InputStream inputStream = Main.class.getClassLoader().getResourceAsStream("example.txt");
// 使用BufferedReader读取输入流的内容
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在这个示例中,我们首先使用Main.class.getClassLoader().getResourceAsStream("example.txt")
获取内部资源文件example.txt
的输入流。然后,我们使用BufferedReader
读取输入流的内容并将其打印到控制台。最后,我们确保关闭输入流以释放资源。