回答
您可以创建一个File
对象,并使用getAbsolutePath
方法:
File file = new File("resources/abc.txt");
String absolutePath = file.getAbsolutePath();
有限使用的建议,因为它依赖工作目录作为maven根。即使如此,您应该使用'target/classes/abc.txt'来引用该文件,因为这是Maven在处理后放置资源文件的规范地方(例如,maven-resources插件可能已经完成了属性替换的abc.txt)。通过类路径中的getResource()使用abc.txt会更好。 –
如果最终用户将您的应用程序作为可执行JAR运行,该怎么办?那么根本就不会有物理文件。这是您应该使用getResource()的另一个原因,例如打开它的输入流取决于你想用它做什么。 –
这可以作为正确答案被删除吗? @Karol S在下面回答 - 这应该是正确的答案(因此upvote差异) – DanGordon
,实际工作的正确方法:
URL resource = YourClass.class.getResource("abc");
Paths.get(resource.toURI()).toFile();
不要紧,现在在哪里在classpath中文件是物理只要资源实际上是文件而不是JAR条目,就会发现它。
(看似明显new File(resource.getPath())
并不适用于所有的路径工作!路径仍然是URL编码!)
或者大概你可以这样做:'new File(resource.toURI())。getAbsolutePath();'(即我不认为你需要Path对象?) –
好的提示关于toURI(),这样可以避免你的路径中的空格以%20的形式出现! –
谢谢!这几乎为我工作。但我不得不作出一个更改:YourClass.class.getClassLoader()。getResource(“abc”); – yngwietiger
您必须specifie路径从/
URL resource = YourClass.class.getResource("/abc");
Paths.get(resource.toURI()).toFile();
开始创建的类加载器实例您需要的课程,然后您可以轻松访问文件或资源。 现在您使用该类的getPath()
方法访问路径。
ClassLoader classLoader = getClass().getClassLoader();
String path = classLoader.getResource("chromedriver.exe").getPath();
System.out.println(path);
- 1. Xamarin:获取资产文件夹中文件的绝对路径
- 2. 如何获取文件在我的项目文件夹中的文件路径?
- 3. 在Python中获取绝对文件路径的目录路径
- 4. 如何获取drupal中sites/all文件夹的绝对路径?
- 5. 如何获取我的项目中文件夹的路径(以及该文件夹中文件的路径)?
- 6. 如何在Eclipse中使用插件获取项目文件的绝对路径
- 7. 如何获取目录中文件的绝对路径?
- 8. Java中项目文件夹的绝对路径
- 9. 如何在cmake生成的项目文件中获取绝对路径
- 10. 获取文件的绝对路径
- 11. 在Rails的公用文件夹中获取文件的绝对路径
- 12. 如何从绝对文件夹路径获取URL?
- 13. 获取Java中隐藏文件夹的绝对路径
- 14. 获取PhoneGap中资产文件夹的绝对路径
- 15. 获取文件夹路径
- 16. 如何获取VS项目子文件夹的路径?
- 17. 如何从项目文件夹中获取mdb文件的路径
- 18. Eclipse插件文件夹绝对路径
- 19. 在ClickOnce中动态获取项目文件夹的路径
- 20. 如何在js文件中获取文件夹“node_modules”的路径?
- 21. 如何在Delphi中从绝对路径获取文件的URL?
- 22. 如何获取我的android项目中文件夹的相对路径?
- 23. 获取绝对文件路径
- 24. 资产文件夹的绝对路径
- 25. 获取包含在项目中的文件的文件路径
- 26. Java在我的项目/ bin /文件夹中获取文件的路径?
- 27. 获取我的JSF项目中的文件夹路径
- 28. 如何在Perfect 2.0中获取项目文件夹的根目录路径?
- 29. 文件上传:获取绝对路径
- 30. 获取目录中所有文件的绝对路径
你想编写一个Maven插件吗?或者当你的程序执行时你想访问文件吗? –
相关:http://stackoverflow.com/questions/8136891/getting-absolute-path-of-a-file-loaded-via-classpath – Vadzim