我用Java编写了一个实用程序,用于过滤JSON输入,从文件或从stdin到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();
}
答案 0 :(得分:1)
您的代码正在创建一个PipedInputStream,它没有连接到任何东西,也永远不会获得任何数据。对于从stdin读取,您不需要创建新流;你应该从System.in中读取。