2014-08-29 17 views
1

我正在嘗試使用類似於Rhino語言的程序(該程序使用Java/JavaScript)來運行DIR命令。使用Rhino/JavaScript/Java顯示DOS錯誤信息

如果有任何語法錯誤或任何其他錯誤,我想用下面的函數打印出錯誤消息:

function CatchDOSError() 
{ 

var ErrorMSG = new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec("cmd /c dir \\C:\Test\Data /s /b /a-D > c:\Test\fileRunDIR.txt").getErrorStream())); 

while ((ErrorMSG.readLine()) != null) 
{ 
println(ErrorMSG); 
} 
ErrorMSG.close(); 

}

如果我運行此功能,所有我所得到的作爲控制檯中的輸出是:「[email protected]」。

如果我手動從CMD運行DOS命令,錯誤消息是「系統找不到路徑」。這是我希望使用上述功能顯示的錯誤消息。不知道是否有轉換問題或我的功能有問題。

任何幫助表示讚賞,謝謝。

+0

你只是想獲得目錄中的文件列表,或者你是否特別寫了CMD的前端? – Wyzard 2014-08-29 03:48:28

+0

Elliott Frisch能夠回答這個問題。 – user3566591 2014-08-30 00:14:01

回答

0

當你

while ((ErrorMSG.readLine()) != null) { 
    println(ErrorMSG); 
} 

你檢查它是不是null,然後打印閱讀器本身(這不會覆蓋toString()而不是線)後丟棄行。我想你想,

var line = ""; 
while ((line = ErrorMSG.readLine()) != null) { 
    println(line); 
} 
+0

這工作,謝謝 – user3566591 2014-08-30 00:00:06