Java 如何编写代码来模拟命令<;file.txt

Java 如何编写代码来模拟命令<;file.txt,java,Java,我正在开发需要模拟以下内容的java代码: my_命令

我正在开发需要模拟以下内容的java代码:

my_命令
我试过写STDIN,但它似乎不是解决方案

已经有人开发了吗

注意,在下面的代码中,
source
java.io.File

String commandLine = "myCommand";
Process process = Runtime.getRuntime().exec(commandLine);
new Thread(() -> {
    try (BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
         Scanner scanner = new Scanner(source)
     ){
        String line;
        while (scanner.hasNext()) {
            line = scanner.nextLine();
            stdin.write(line);
            System.out.print(line);
        }
        stdin.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}).start();

int ret = process.waitFor();
仅供参考,我的命令是mysql
mysql
您应该使用class(而不是class
Runtime

我不知道my_命令是什么,所以下面的代码使用

首先,我创建包含我希望执行的cleartool子命令的文本文件

hostinfo
出口
(注意文件的最后一行是空的。)
我将此文件命名为
exits\u ct.txt

现在是运行cleartool命令的java代码,然后从文本文件中输入子命令,并将命令输出打印为标准输出

导入java.io.File;
导入java.io.IOException;
公共类PrcBldTs{
公共静态void main(字符串[]args){
ProcessBuilder pb=新的ProcessBuilder(“cleartool”);
重定向输入(新文件(“exits_ct.txt”);
重定向输出(ProcessBuilder.Redirect.INHERIT);
重定向错误(ProcessBuilder.Redirect.INHERIT);
试一试{
Process proc=pb.start();//抛出java.io.IOException
int result=proc.waitFor();//抛出java.lang.InterruptedException
System.out.println(“结果:+result”);
}
捕获(IOException | InterruptedException x){
x、 printStackTrace();
}
}
}
当我运行上述代码时,我得到以下输出:

MY_COMP:ClearCase9.0.0.0(WindowsNT6.2(Build9200)奔腾)
结果:0

那么您是用java打开该文件(“file.txt”)并将其内容写入stdin,还是只是将“file.txt”写入stdin?如果是前者,请在问题中添加您的代码。您的意思是?@FedericoklezCulloca yes