![](/img/trans.png)
[英]How to read from command line parameter or stdin redirection in java?
[英]Reaching Java application through stdin from command line
我已經用Java編寫了一個實用程序,該實用程序可以將JSON輸入從文件或標准輸入中過濾到XML。 盡管我已經使其成為一個獨立的,可運行的JAR,但我對如何通過stdin將輸入重定向到它的方法迷失了。 例如:
cat sample.json | java -jar ./target/json-to-xml-1.0.0.jar
該命令行不起作用。 我不知道這是否可以做到。
private static String readContentFromStdIn() throws IOException
{
char ch;
StringBuilder sb = new StringBuilder();
PipedInputStream input = new PipedInputStream();
while( ( ch = ( char ) input.read() ) != -1 )
sb.append( ch );
input.close();
return sb.toString();
}
您的代碼正在創建一個PipedInputStream,該PipedInputStream沒有連接任何東西,並且永遠不會獲取任何數據。 要從stdin中讀取內容,您無需創建新的流; 您應該只閱讀System.in。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.