回答
检查这个例子: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. 我如何知道哪个dsn驱动程序正在使用?
- 5. 安装Java但不知道哪个包?
- 6. 在Windows上安装QT应用程序C驱动器
- 7. 如何知道websphere上安装的应用程序的网址
- 8. 我如何知道我安装了哪些Eclipse M2E连接器?
- 9. PDOException:找不到驱动程序,但安装了驱动程序
- 10. 亚马逊应用商店如何知道哪个设备安装了该应用程序?
- 11. 知道是否为“所有用户”安装了应用程序
- 12. 如何知道我安装了哪个版本的vs2010?
- 13. 我如何知道安装了哪个版本的mysqli?
- 14. 如何知道安装了哪个版本的MDAC?
- 15. 我如何知道我安装了哪个版本的monotouch?
- 16. 一个装配中的多个服务。安装程序如何知道要安装并启动哪个服务?
- 17. 如何知道应用程序安装在android中完成?
- 18. 我在哪里可以在ubuntu上安装jdbc驱动程序?
- 19. android知道是否安装了应用程序
- 20. 我如何知道在OS X上安装了libxml2和libxslt的哪个版本?
- 21. 我如何知道哪个版本的mysql odbc驱动程序正在使用
- 22. 如何知道我的.net应用程序在哪个浏览器上运行?
- 23. 从未安装java的笔式驱动器自动运行java应用程序
- 24. 如何知道使用pip安装了哪些软件包
- 25. 如何知道应用程序提供了哪些服务?
- 26. 如何知道应用程序已安装或重新安装在设备中
- 27. 如何在Android Things应用上安装USB驱动器?
- 28. 如何在Win32上使用C++安装硬件驱动程序?
- 29. 安装MongoDB java驱动程序
- 30. 安装驱动器并使用PowerShell启动应用程序