回答
您可以創建一個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. Install4j:獲取項目文件的絕對路徑
- 11. 在Rails的公用文件夾中獲取文件的絕對路徑
- 12. 獲取文件的絕對路徑
- 13. 如何從絕對文件夾路徑獲取URL?
- 14. 獲取Java中隱藏文件夾的絕對路徑
- 15. 獲取PhoneGap中資產文件夾的絕對路徑
- 16. 獲取文件夾路徑
- 17. 如何獲取VS項目子文件夾的路徑?
- 18. 如何從項目文件夾中獲取mdb文件的路徑
- 19. Eclipse插件文件夾絕對路徑
- 20. 在ClickOnce中動態獲取項目文件夾的路徑
- 21. 如何在Delphi中從絕對路徑獲取文件的URL?
- 22. 如何在js文件中獲取文件夾「node_modules」的路徑?
- 23. 如何獲取我的android項目中文件夾的相對路徑?
- 24. 獲取絕對文件路徑
- 25. 資產文件夾的絕對路徑
- 26. 獲取包含在項目中的文件的文件路徑
- 27. Java在我的項目/ bin /文件夾中獲取文件的路徑?
- 28. 獲取我的JSF項目中的文件夾路徑
- 29. 如何在Perfect 2.0中獲取項目文件夾的根目錄路徑?
- 30. 文件上傳:獲取絕對路徑
你想編寫一個Maven插件嗎?或者當你的程序執行時你想訪問文件嗎? –
相關:http://stackoverflow.com/questions/8136891/getting-absolute-path-of-a-file-loaded-via-classpath – Vadzim