繁体   English   中英

如何使用Java在Windows上获取卷ID?

[英]How can I get volume id on Windows using Java?

我正在开发一个Java桌面应用程序来访问信息,格式,更改标签和卷ID。 该应用程序的目标用户是将主要使用Windows XP或Windows 7的Windows用户。

我正在使用java的File和FileSystemView获取基本信息。 我正在使用Runtime.getRuntime()。exec()执行外部Windows应用程序来执行其他任务。

我尝试使用'vol'和'dir'来获取volumeId信息,但出现以下错误:

Starting: vol E:
java.io.IOException: Cannot run program "vol": CreateProcess error=2, O sistema não pode  encontrar o arquivo especificado
        at java.lang.ProcessBuilder.start(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at app.CommandRunnerWithReturn.run(CommandRunnerWithReturn.java:24)
Caused by: java.io.IOException: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 5 more

我可以使用Java API或Windows程序获取volumeid信息吗?

提前致谢。

一些命令内置在外壳程序中。 要运行这些命令,您需要运行外壳程序以运行命令。 对于CMD,您需要类似

CMD /C VOL

对于Unix shell,您需要类似

sh -c "cd /path ; command > file"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM