2015-04-07 80 views
0

我有一個文件data.txt。其內容是:如何將流重定向到簡單的Java應用程序?

a b c 
d e f 

我也有Java代碼

public class Main { 
    public static void main(String[] args) { 
     System.out.println("size: " + args.length); 
     for (String arg : args) { 
      System.out.println("arg: " + arg); 
     } 
    } 
} 

而且腳本run

#!/bin/bash 
java -jar test.jar "[email protected]" 

我想一個文件流重定向到我的應用程序。

我試過如下:

cat data.txt | ./run 

這給了我:

size: 0 

但我希望看到:

size: 6 
a 
b 
c 
d 
e 
f 

我怎樣才能做到這一點?

+0

爲什麼你要做這樣的事情? – CKing

+0

因爲我想以這種方式將文件傳遞到我的應用程序。 – barbara

+1

你爲什麼不嘗試?然後你會看到它是否工作。 – vanje

回答

1

您可以xargs調用與命令行來連接標準輸入的內容:

cat data.txt | xargs ./run 

取決於的$IFS值,這可能是等同於:

./run a b c d e f 
+0

酷!好的解決方案謝謝。 – barbara

相關問題