首页 > 解决方案 > 在 Java 中列出虚拟磁盘

问题描述

有没有办法列出所有使用 Java 连接的虚拟磁盘?我尝试使用 ProccessBuilder 打开 diskpart 并运行命令,然后使用 InputStreamReader,将行保存到数组中以便稍后提取 vhd 名称。但是在运行 diskpart 命令后,我的程序冻结了。

try {
    commands.add("cmd.exe");
    commands.add("start");
    commands.add("diskpart");
    commands.add("list vdisk");

    ProcessBuilder builder = new ProcessBuilder(commands);
    Process p = builder.start();

    BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

标签: javadiskpart

解决方案


推荐阅读