回答
檢查這個例子:http://littletutorials.com/2008/03/10/getting-file-system-details-in-java/
在Windows環境下,你可以讀取HOMEDRIVE變量。 如果您運行此代碼,您將看到所有可用的環境變量。
import java.util.Map;
public class EnvMap {
public static void main (String[] args) {
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n", envName, env.get(envName));
}
}
}
HOMEDRIVE在Unix環境中不存在作爲概念。
嘗試在Windows下:
File file = new File(".").getAbsoluteFile();
File root = file.getParentFile();
while (root.getParentFile() != null) {
root = root.getParentFile();
}
System.out.println("Drive is: "+root.getPath());
在Unix系統上,這將是用處不大的根永遠是/
按照java.io.File的javadoc:
的通過調用 getParent()此類的方法和可以獲得抽象路徑名的父親 10由路徑名的前綴和 每個名稱中除路徑名 以外的序列組成。每個 目錄的絕對路徑名都是任何File對象的 始祖,其中 絕對抽象路徑名稱 以目錄的絕對路徑名 開頭。例如,由抽象路徑名稱 「/ usr」表示的目錄 是路徑名爲 「/ usr/local/bin」的目錄 的祖先。
前綴的概念用於處理UNIX平臺上 根目錄, 和驅動器符,根目錄 和UNC路徑名在Microsoft Windows 平臺,具體如下:
對於UNIX平臺上,絕對路徑名的前綴總是「/」。 相對路徑名稱沒有前綴。表示根目錄 目錄的 抽象路徑名具有前綴「/」和 空的名稱序列。
對於Microsoft Windows平臺,包含驅動器說明符的路徑名的前綴由驅動器號後跟「:」組成,如果路徑名是絕對路徑,可能後跟「\\」。 UNC路徑名的前綴是「\\\\」;主機名和共享名稱是名稱序列中的前兩個名稱。沒有指定驅動器的相對路徑名沒有前綴。
因此,一個解決方案可能是創建一個相對File
對象(使用"."
當前目錄),得到了家長和提取驅動器盤符。這當然不是便攜式的。
如果你想知道運行系統的當前工作目錄,您使用以下命令:
String currentDirectory = System.getProperty("user.dir");
這會告訴你它開始在目錄中,這往往是其中的Jar文件位於,或者類路徑的根目錄。
編輯: System Class javadoc for the method getProperties()具有可用的通用系統屬性集。
- 1. C#程序知道在哪個驅動器中安裝了Windows操作系統?
- 2. 如何知道我在一臺iPhone上安裝了哪些應用程序
- 3. 如何知道安裝哪個應用程序
- 4. 我如何知道我安裝了哪些Eclipse M2E連接器?
- 5. 知道是否爲「所有用戶」安裝了應用程序
- 6. 亞馬遜應用商店如何知道哪個設備安裝了該應用程序?
- 7. 我如何知道我安裝了哪個版本的monotouch?
- 8. 一個裝配中的多個服務。安裝程序如何知道要安裝並啓動哪個服務?
- 9. 如何知道應用程序安裝在android中完成?
- 10. 我在哪裏可以在ubuntu上安裝jdbc驅動程序?
- 11. android知道是否安裝了應用程序
- 12. 我如何知道在OS X上安裝了libxml2和libxslt的哪個版本?
- 13. 我如何知道哪個版本的mysql odbc驅動程序正在使用
- 14. 如何知道我的.net應用程序在哪個瀏覽器上運行?
- 15. 如何知道使用pip安裝了哪些軟件包
- 16. 如何在Android Things應用上安裝USB驅動器?
- 17. 如何在Win32上使用C++安裝硬件驅動程序?
- 18. 如何在grails控制器中知道驅動程序連接
- 19. Linux內核如何知道要調用哪個驅動程序函數?
- 20. 如何安裝CUDA驅動程序TensorFlow
- 21. 如何安裝SQLite JDBC驅動程序?
- 22. 如何知道在Windows Mobile應用程序中單擊了哪個功能?
- 23. 如何知道我的android應用程序的安裝總數?
- 24. 如何知道iPhone中安裝的應用程序
- 25. 如何在安裝軟件後安裝USB驅動程序
- 26. INNO安裝驅動程序已安裝
- 27. 如何在軌道應用程序上正確安裝KissMetrics?
- 28. 安裝Chrome驅動程序
- 29. 我如何知道在OSX上安裝了哪些不同版本的Python?
- 30. Linux內核如何知道在啓動時加載哪些驅動程序?