java - 使用 Process p=runtime.getRuntime().exec ("java classname <input_file") 执行 java 文件;

标签 java linux

我正在尝试运行以下程序

import java.io.*;
class classname
{  public static void main(String args[])throws IOException
{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(reader);
int t=Integer.parseInt(in.readLine());
System.out.println(t);
} }

我创建了一个单独的文件 input_file,其中输入为 89

但是当我尝试通过

执行以下代码时
Process p=runtime.getRuntime().exec("java classname <input_file" );

它不执行

我想知道如何使用 java Runtime 或 ProcessBuilder 执行这些文件重定向命令。

我正在尝试创建一个网络界面 Web 界面类似于在线编译器,例如ideone.com

用户将在输入文本区域中输入内容,代码中的代码为

当用户单击编译时,它将显示输出

但我无法重定向 java 类名的输入文件的输出

最佳答案

java 命令不实现重定向。为此,您需要运行一个封闭的命令 shell,例如 sh -ccmd/c

关于java - 使用 Process p=runtime.getRuntime().exec ("java classname &lt;input_file") 执行 java 文件;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28538284/

相关文章:

c - 在 Linux 中用 C 语言获取主音量

linux - 从未知格式转换音频

java - 修复寻路代码

c# - 以编程方式执行 "java -version"将输出放入 StandardError 而不是 StandardOutput

linux - 无法在 VirtualBox 中为 CentOS 6 guest 安装 Guest Additions

linux - 在调用函数时使用 $ 或 `(tilt) 与通常使用其名称调用函数有什么区别

linux - 如何从服务器 url 中排除其他域?

Java 程序不从 Linux 服务器远程读取文件

java - OnGesturePerformedListener 错误 - Android

java - 处理多个 XSLT 并将结果传递给另一个 XSLT 以在 Java 中进行转换