0
processbuilder不允許重定向輸入流/輸出流。我如何在java中創建管道進程? 我試圖使用這個命令,但它不起作用。編輯:仍然這是行不通的。如何使用processbuilder在窗口中運行管道進程
ArrayList<String> cmd = new ArrayList<>();
String s = "/R";
cmd.add("cmd");
cmd.add("sort");
cmd.add("<");
cmd.add("randomwords.txt");
cmd.add("|");
cmd.add("sort");
cmd.add("/R");
cmd.add(">");
cmd.add("reversesortes.txt");
ProcessBuilder builder = new ProcessBuilder(cmd);
builder.redirectError(new File("error.txt"));
Process process = builder.start();
System.out.println("im here");
int i = process.waitFor();
System.out.println("i"+ i);
我把所有的標記,包括'「<」'和'「|」'入'ArrayList中',使用與的ProcessBuilder創建我處理。 –
換句話說,你的exec當前擁有兩個字符串,相反它應該由9個不同的標記組成。 –
仍然無法正常工作。 ArrayList cmd = new ArrayList <>(); \t \t String s =「/ R」; \t cmd.add(「cmd」); \t cmd.add(「sort」); \t cmd.add(「<」); \t cmd.add(「randomwords.txt」); \t cmd.add(「|」); \t cmd.add(「sort」); \t cmd.add(「/ R」); \t cmd.add(「>」); \t cmd.add(「reversesortes.txt」); \t ProcessBuilder builder = new ProcessBuilder(cmd); \t \t builder.redirectError(new File(「error.txt」)); \t \t Process process = builder.start(); \t \t System.out.println(「im here」); \t \t int i = process.waitFor(); \t \t \t \t System.out.println(「i」+ i); –
Datta