我正在寻找一种方法来重定向进程/ ProcessBuilder的输出。我知道它在Java 7中是这样工作的:
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();
但是我需要同样的Java5/6 ...任何帮助我都会非常感谢。
下面的代码摘自核心java第一卷的java web start章节。
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream printOut = new PrintStream(out);
printOut.print(panel.getText());
//panel.getText() return a String
InputStream data = new ByteArrayInputStream(out.toByteArray());
Fi
我正在尝试使用Java语言中的进程或ProcessBuilder对象来模拟下面的bash shell脚本的功能。我不是100%清楚我是如何为标准输入做重定向的。我如何才能做到这一点呢?
#
# Redirect shell echo command from standard output to file
# This will construct the input file
#
exec 1> $STDIN
echo -e "$NFILE\n$GFILE\n$INPUT\n$OUTPUT\n$CAX"
exec 1>&-
#
# Run exe
我有一个使用输入重定向的程序,在某些情况下,我想开始从键盘输入。我该如何重定向输入呢?
我按如下方式运行该程序
java SomeClass < data.txt
代码如下所示
java.util.Scanner = new java.util.Scanner(System.in);
//Process the data from data.txt
//Here I want to be able to receive input from the keyboard, but input still only looks for input from data.txt
有没有什么方法可
如何从Java程序运行外部命令(通过shell),这样就不会发生重定向,然后等待命令结束?我希望外部程序的文件描述符与Java程序的文件描述符相同。特别是,我不希望将输出重定向到程序正在读取的管道。让Java程序中继输出并不是一个解决方案。
这意味着对的简单调用不是解决方案。我假定涉及到,但是如何指定输出和错误流必须与调用的Java相同?
class A {
public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder("echo
通过使用Azure AD Java,我希望使用B2C编程语言实现用户功能。 下面给出了功能。 用户注册用户登录重置/忘记密码更改密码用户配置文件更新通过访问令牌访问其他API根据我在所有Microsoft文档中的发现,对于所有上述操作,它将在Microsoft UI上重定向。除此之外,在我的场景中,我们不希望将URL中的客户端Id、Secret Id、租户Id公开给最终用户。请推荐正确的Java SDK库或Rest端点,以使用Azure AD B2C服务实现上述功能