亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中運行CMD

如何在Java中運行CMD

一只甜甜圈 2023-07-13 17:59:01
我是Java新手,我需要在java中運行CMD或Powershell,因為我想了解當前的RAM利用率和當前的磁盤分布在StackOverflow上有很多類似的問題,但我不明白。這是我的代碼:package test;import java.io.BufferedReader;import java.io.InputStreamReader;public class Main {? ? public static void main(String[] args) {? ? }? ? public static class CmdTest {? ? ? ? public static void main(String[] args) throws Exception {? ? ? ? ? ? ProcessBuilder builder = new ProcessBuilder(? ? ? ? ? ? ? ? ? ? "cmd.exe", "/c", "cd \"C:\\Program Files\\Microsoft SQL Server\" && dir");? ? ? ? ? ? builder.redirectErrorStream(true);? ? ? ? ? ? Process p = builder.start();? ? ? ? ? ? BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));? ? ? ? ? ? String line;? ? ? ? ? ? while (true) {? ? ? ? ? ? ? ? line = r.readLine();? ? ? ? ? ? ? ? if (line == null) {? ? ? ? ? ? ? ? ? ? break;? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? System.out.println(line);? ? ? ? ? ? }? ? ? ? }? ? }}我只得到一個空的控制臺,我不知道為什么。
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

這里:


public static void main(String[] args) {

}

Main類的 main 方法是空的,什么也不做。


然后,您添加了Main 的另一個內部類,名為CmdTest。但該類及其 main 類從未被調用過。


我的建議是,刪除 CmdTest 類,并將其代碼放入現有的 Main.main() 中:


public class Main {

  public static void main(String[] args) throws Exception {

    ProcessBuilder builder = new ProcessBuilder(...

您還可以將 Main.java 重命名為 CmdTest.java,并(基本上)刪除舊的 Main,并讓您的 CmdTest 成為其自己的公共頂級類。


鄭重聲明:格式非常重要。我花了2分鐘才弄清楚你的問題。為什么?由于格式誤導。如果你合理地縮進,潛在的問題將在 5 秒內顯現出來。因此:始終一致地縮進,并將 } 放在新行上,即使塊/方法為空!


最后:給出OP通過更多語法實驗的自我回答,真正的答案在這里:退后一步。例如,看看這個,了解正確的類 + main 必須是什么樣子。了解細節,然后開始插入您自己的代碼。


查看完整回答
反對 回復 2023-07-13
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號