我正在尝试加载jar文件中的文件。我尝试将文件加载到BufferedReader中。例如:
BufferedReader br = new BufferedReader(new FileReader(fileName));
其中fileName是来自Jar文件根目录的字符串:类似这样的内容" resources / text.txt"
我很难找到如何实现这一目标。显然,FileReader无法正常工作,因为它从文件系统中读取。
任何可以帮助我的人?
答案 0 :(得分:2)
使用类加载器获取resource as a stream。
BufferedReader br = new BufferedReader(new InputStreamReader(MyClass.class.getClassLoader().getResourceAsStream("/resources/text.txt"), "utf-8");
请注意,您需要为内容指定正确的字符编码。
答案 1 :(得分:1)
如果您尝试访问与正在运行的程序相同的jar中的文件,则应使用
final InputStream inputStream = ClassName.class.getResourceAsStream(fileName);