【问题标题】:Redirect output of echo to file through Java [duplicate]通过Java将echo的输出重定向到文件[重复]
【发布时间】:2013-01-28 11:55:01
【问题描述】:

可能重复:
ProcessBuilder redirecting output

以下代码:

ProcessBuilder pb = new ProcessBuilder(new String[] {"echo", "some text", ">", "test"});

不断返回“some text > test”。

我做错了什么?

编辑:

成功了

ProcessBuilder pb = new ProcessBuilder(new String[] {"bash", "-c", "echo sometext > test"});

【问题讨论】:

  • 已接受来自link 的回答
  • 酷。很高兴您把它整理好,感谢您的反馈。

标签: java process processbuilder io-redirection


【解决方案1】:

尝试关注

    ProcessBuilder pb = 
new ProcessBuilder("cmd.exe", "/c" ,"echo", "some text", ">", "test");

这适用于windows

实际上,'Echo' 不是命令,它是 Windows 中的 shell (cmd.exe) 和 linuxunix 中的“bash”的内部命令。所以,对于 Unix/Linux

    ProcessBuilder pb = 
new ProcessBuilder("bash", "-c","echo \"some text\" >test"); 

【讨论】:

  • 不起作用,在 echo 之后仍然返回所有内容
  • 奇怪的是,当我在 Android 中使用相同的东西时它工作正常,但在 pc 上的纯 java 中它不会重定向
  • 您添加的链接适用于 windows,我不知道它是否有任何区别,但我在 linux 上
  • ReasonSolutionWindowsUnix 编辑了答案
猜你喜欢
  • 2013-01-18
  • 2018-11-07
  • 2014-03-03
  • 2013-11-07
  • 2021-11-04
  • 1970-01-01
  • 2014-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多