java - 用Java启动一个进程?

标签 java process

有没有办法在 Java 中启动一个进程?在 .Net 中,这是通过例如:

System.Diagnostics.Process.Start("processname");

Java 中是否有等价物,这样我就可以让用户找到该应用程序,然后它将适用于任何操作系统?

最佳答案

http://www.rgagnon.com/javadetails/java-0014.html

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.file.Paths;

public class CmdExec {

public static void main(String args[]) {
    try {
        // enter code here

        Process p = Runtime.getRuntime().exec(
            Paths.get(System.getenv("windir"), "system32", "tree.com /A").toString()
        );

        // enter code here

        try(BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
            String line;

            while ((line = input.readLine()) != null) {
                System.out.println(line);
            }
        }

    } catch (Exception err) {
        err.printStackTrace();
    }
  }
}

您可以使用系统属性或类似方法获取本地路径。

http://download.oracle.com/javase/tutorial/essential/environment/sysprop.html

关于java - 用Java启动一个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3774432/

相关文章:

process - 工作目录的 System.Diagnostics.Process 问题

linux - 在进程终止时哪个先发生?删除子进程和任务或调用 atexit 函数?

c# 计算特定应用程序的 CPU 使用率

java - 在不关闭 InputStream 的情况下中断 BufferedReader#readLine()

java - Android - getResources() 和 getPackageName() 问题

java - Android: main.xml 错误

java - 在 jpanel 中搜索按钮并获取按钮的文本?

multithreading - 线程和进程

java - 以编程方式检测 Android 中的 SIM 卡更改

java - Tomcat在内存中打开很多实例