是否有可能從主目錄中獲取包含我的主函數的.class文件的路徑?獲取包含主文件的.class文件的目錄路徑
回答
URL main = Main.class.getResource("Main.class");
if (!"file".equalsIgnoreCase(main.getProtocol()))
throw new IllegalStateException("Main class is not stored in a file.");
File path = new File(main.getPath());
注意,大多數的class文件組裝成JAR文件,所以這不會在任何情況下(因此IllegalStateException
)工作。但是,您可以使用此方法找到包含該類的JAR,並且可以通過調用getResourceAsStream()
代替getResource()
來獲取類文件的內容,並且無論該類是在文件系統上還是在一個JAR。
根據http://www.cs.caltech.edu/courses/cs11/material/java/donnie/java-main.html,沒有。不過,我建議您閱讀$0 (Program Name) in Java? Discover main class?,這至少可以爲您提供主要的課程。
在`main`方法中,封閉類是已知的。 – erickson 2009-04-22 16:52:56
你需要什麼?如果您需要它來獲取位於同一目錄中的任何文件,那麼Class.getResourceAsStream()適用於此文件。
試圖鎖定我的主類文件,以便不止一次啓動我的應用程序。 – 2009-04-22 17:08:42
這看起來更像是一個終端用戶問題。另外考慮可能需要運行任何給定應用程序的多個實例,並且防止用戶這樣做將成爲主要煩惱。
如果問題與臨時文件衝突,那麼只要確保所有的臨時文件都有唯一的名稱。據我瞭解,這是人們感到需要防止其應用程序的多個實例運行的最常見原因。
P.S .: java.io.File.createTempFile()方法非常適合防止臨時文件衝突,因爲它們會自動生成唯一的文件名。
- 1. 獲取包含在項目中的文件的文件路徑
- 2. 獲取包含Python文件的目錄的完整路徑
- 3. 獲取包含lua文件的路徑
- 4. 從文件路徑獲取文件目錄路徑
- 5. 目錄中包含的Mv文件到目錄/新路徑
- 6. 使用包含文件獲取文件的路徑/名稱?
- 7. 如何返回不包含目錄路徑的目錄文件/文件夾?
- 8. WordPress的/ PHP-取消鏈接文件搜索目錄不包含文件路徑
- 9. 帕格條件包含文件路徑的所有子目錄
- 10. 在Python中獲取絕對文件路徑的目錄路徑
- 11. T4包含來自項目根目錄的文件路徑
- 12. 使用os.walk方法獲取包含兩種類型文件的目錄路徑
- 13. 頭文件包含路徑
- 14. Air for iOS:包含的文件目錄路徑
- 15. 新的HTML5 manifest.cache文件是否包含目錄路徑?
- 16. 如何從文件名獲取文件路徑和目錄?
- 17. 獲取文件的路徑從項目
- 18. 包含到子目錄中而不知道要包含的文件的路徑
- 19. 如何在主目錄中包含具有絕對路徑的頭文件?
- 20. 獲取文件的路徑
- 21. 獲取文件路徑的文件名
- 22. 在python中,如何獲取目錄中所有文件的路徑,包括子目錄中的文件,但不包括子目錄的路徑
- 23. 從主* .tex文件的超/子目錄中包含* .sty文件
- 24. 獲取包含32位程序的「程序文件」文件夾的路徑
- 25. 如何獲取主包中子文件夾的路徑?
- 26. c#檢查文件路徑是否包含特定目錄
- 27. 包含文件的根路徑
- 28. 獲取路徑給定的類文件的目錄
- 29. 從文檔目錄獲取文件路徑 - Objective-c iOS
- 30. 如何獲取文件上游文件夾的兩個目錄的路徑名?
你的意思是你想知道.class文件駐留在文件系統上的什麼位置? – laz 2009-04-22 16:57:16