java - 无法在 IntelliJ 中获取资源文件的相对路径 - Java/Selenium
问题描述
我正在努力获取资源文件夹中文件的相对路径。我花了几个小时在其他线程中倾注并尝试其他解决方案,但都失败了,我不知道是否由于确切的语法错误,但我真的很感激一些关于确切写什么的帮助。附上截图
文件设置
我从我的类 TestRunner 运行我的测试,该类转到 PropertiesUtil 以让浏览器从 config.properties 文件中运行测试。
config.properties 文件位于资源文件夹中,但我无法使用相对路径访问配置文件。它绝对可以正常工作,但这意味着当其他人运行它时它会失败。
如果我尝试其他路径,我会收到错误消息:
2019-03-06 21:21:16 INFO TestRunner - Before running
java.io.FileNotFoundException: config.properties (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
请帮忙!我已经花了太长时间坚持这一点。
按照建议尝试使用 ClassLoader 但这在 propertiesUtil 中不起作用,我也不太确定如何将它与我所拥有的一起编写(因为它抱怨静态/非静态)。在从 TestRunner 运行以尝试调试和理解时,它并没有给我太多有用的信息。 类加载器
我也尝试了我在其他地方看到的类似的东西。同样的问题: 非静态到静态错误
解决方案
尝试这样的事情。
public static void readPropertiesFiles() {
ClassLoader classLoader = PropertiesUtil.class.getClassLoader();
String path = classLoader.getResource("config.properties").getPath();
System.out.println(path);
}
推荐阅读
- android - 通过在 recyclerview 的布局中设置 Checkox 的可见性“可见性”来关闭 recyclerView 时,应用程序崩溃
- dialogflow-es - 当我们的服务器与对话流交互时,我们需要 webhook 吗?
- text - 完成一个小型代码项目的平均时间是多少?
- python - TensorFlow:将 tf.Dataset 转换为 tf.Tensor
- python - FileNotFoundError: [Errno 2] 尝试使用本地包时没有这样的文件或目录
- sql - 不同类型的子查询
- c# - 如何传递函数
到一个接受 Func 的函数 - html - 如何在 html 中的表格中居中项目?
- flutter - 如何在下面的橙色矩形中居中标签?
- react-native - 在反应原生的渲染中做一个循环