Tag: 运行时

用Java分叉进程

是否有可能从单个执行序列中创建一个完整的“PROGRAM”分支到两个子程序中? 制作的子程序完全相同。 它们具有相同的执行顺序和值,但现在它们是两个不同的程序。 这就像创建一个Object的克隆,从而为我们提供了两个相同类型的不同对象。 但是,我们不是只是一个对象和一些值,而是在这里创建一个已经加载到JVM中的程序的完全并行执行序列(更喜欢Java的答案)。

如何执行控制台或GUI输入,就像它是真正的Java代码一样?

我希望能够以相同的方式输入java命令/代码以在运行时(在执行“持久性”程序期间)执行,或尽可能接近,如果它存在则执行相同的代码关于程序的源代码(作为软件的一部分编程),使用GUI元素,如jTextArea。 以下StackOverflow问题似乎是相关的,但是,与他们的答案一起,似乎并不是我正在寻找的。 如何从Java中获取来自控制台类的输入? 在java中使用GUI进行控制台输入和输出 我不想“能够从特定的控制台输入触发操作,并将反馈打印到控制台”,就像那些问题和答案中描述的控制台应用程序的情况一样。 我想要的是“能够执行实际的java代码,我无法预测或控制,从控制台(或GUI)输入”。 注意:“我无法预测也无法控制”这里指的是“开发人员”……当然,如果我是输入代码的人,我可以预测并“控制”它,就像“用户”那样。 由于java使用虚拟机环境,我认为它可能会执行“运行时输入的代码”……但我不确定这样的事情是否可能。 例如,我想在“GUI控制台”(例如jTextArea)中输入for(int i=0; i<3; i++){System.out.println(i);}的运行时输入,按下回车键或单击“发送”按钮,执行(“编译”和“?”),并给出相同的输出,就好像它是原始源代码的一部分,因此: 0 1 2 所以我想知道以下内容: 可能吗? 如果是,我该怎么办? (或者,如果不是,最接近的替代方案是什么?)

无法从java程序执行R脚本?

我在String变量中有一个Rscript,我想从Java程序执行它并将一些变量传递给它。 如果我独立执行该R脚本,它可以正常工作。 我已经通过使用Python程序将其转换为一行来将R脚本转换为一行,如下所示: import json jsonstr = json.dumps({“script”: “””\ #!/usr/bin/Rscript # read the data file library(‘jsonlite’) library(‘rpart’) args <- as.list(Sys.getenv(c( "path", "client_users"))) if (args[["path"]]==""){ args[["path"]] <- "." } # other stuff here # other stuff here """}) print jsonstr 我使用打印出来的字符串并将其存储在String变量中,然后我执行下面的代码,它根本不起作用。 我将path和client_users变量传递给上面的R脚本。 public static void main(String[] args) throws IOException, InterruptedException { // this is your script […]

如何检查路径中是否存在程序

我正在用scala编写一个程序,调用: Runtime.getRuntime().exec( “svn …” ) 我想检查命令行中是否有“svn”(即可以在PATH中访问)。 我怎样才能做到这一点 ? PS:我的程序设计用于在Windows上运行

从Java运行PHP

我试图从java文件中运行以下命令。 我正在尝试显示php版本,稍后将更改为运行php文件。 Process p = Runtime.getRuntime().exec(“cmd /C PHP/php.exe -v”); BufferedReader in = new BufferedReader(new InputStreamReader( p.getInputStream())); String line = null; while ((line = in.readLine()) != null) { System.out.println(line); } 当我运行程序时,没有错误。 但控制台没有显示任何东西:( 谢谢。

在java中执行外部程序并传递命令

我有这个国际象棋引擎Rybka.exe,我必须在java中执行以下是一个如何运行Rybka的例子:一旦你点击它,控制台就会打开并等待输入。 那么你输入“uci”并按Enter键等待它加载(大约1秒)然后你必须再输入几行作为选项和东西。 问题是我不知道如何将这些命令从java传递给Rybka。 事实是,这些命令需要一次输入一个,因为你必须等待一些命令才能执行。 这就是我试图打开它的方式。 码: Process p1 = Runtime.getRuntime().exec(“Rybka.exe”); 这是有效的,因为您可以看到Rybka.exe在任务管理器中处于活动状态,但我不知道如何将命令传递给它。

Runtime.getRuntime()。exec(“C:\ cygwin \ bin \ bash.exe”)没有输入读取

我正在尝试执行一个新进程并从Java中读取其输入流。 我已成功使用Runtime.getRuntime()。exec(String)来启动和接收来自多个进程的输入。 但是,当我尝试在某些其他进程上使用exec时,输入流的read方法会阻塞,并且看起来没有输入。 对于某些进程,可能导致输入流为空的原因是什么? 具体来说,我想知道为什么bash.exe没有输出任何东西。 我写了一个JUnit测试用例来演示这个问题: import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; public class TestExec extends TestCase { public void testExec() throws IOException { List threads = new ArrayList(); // Create a process for each of the commands and make sure that // it outputs at least one line […]

JavaCV从运行时的角度看OpenCV

我正在构建一个包含图像处理技术的Android应用程序。 从运行时的角度来看,哪个是更好的JavaCV还是OpenCV?

在Java中在运行时扩展或添加新类

有没有办法在运行时在java中添加(或扩展现有的)类。 我遇到了一个问题,我必须在运行时扩展现有的类并将其添加到类路径中,以便获取这个新类。 谢谢,

如何在运行时从外部jar访问方法?

这是发布在以下问题的延续: 如何在运行时加载jar文件 我不确定如何继续方法调用级别。 根据我的理解,从clazz对象,我将使用getMethod或getDeclaredMethod来获取一个Method对象,我将从中调用invoke。 当然,调用需要一个实例。 那么那就是示例代码中所谓的doRun吗? 我是否需要执行doRun.run()方法调用,即使我想执行一个不同于main的方法(假设它是在运行调用调用的doRun对象上的主要方法)? 为了更好地澄清原始post,我问:doRun.run()是否启动了一个新线程来执行clazz类型的类对象的实例? 感谢您帮我解决这个问题。 我确实看过“how-should-i-load-jars-dynamic-at-runtime”(抱歉,只允许一个超链接),但这看起来违反了我引用的第一篇文章中的Class.newInstance邪恶警告。